3

I have an issue with connecting to a linked server from SQL Server 2016 to an Ingres 10.1 database via an Ingres 64bit driver ODBC connection setup - ODBC connection succeeds and the linked server connection test succeeds.

T-SQL used for testing has been:

select *
from openquery("linked server", 'select * from "table"')

Some tables come back fine although most tables retrieve the columns but have no data throwing the error:

Msg 7399, Level 16, State 1, Line 1
The OLE DB provider "MSDASQL" for linked server "" reported an error. Provider caused a server fault in an external process.

Msg 7330, Level 16, State 2, Line 1
Cannot fetch a row from OLE DB provider "MSDASQL" for linked server

If I change the select * to specific columns, I still get the errors. I have tried changing the provider settings to "Allow in process" on/off; both settings still do not work. If I turn the above setting on i get the error:

The provider reported an unexpected catastrophic failure.

Msg 7330, Level 16, State 2, Line 1
Also a stack dump is created within the SQL logs saying EXCEPTION_ACCESS_VIOLATION.

I have played with the security connection settings of the linked server but no luck.

Any ideas fellow DBAs?

  • Out of curiosity, on a 'failing' table, what happens if you just select 1 column instead of select * (like an id value)? If that succeeds, add another and another. I've vaguely remember another post on this site where select * was causing this same kind of problem, but I can't find the post. If you can't even select 1 simple column from a failing table, I guess we're back to square one. – Scott Hodgin Feb 23 '17 at 16:10
2

If you get a stack dump, it's time to contact the author of the linked server driver and start a support call. That's not something you can fix via query changes or configuration.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.