Friday, February 24, 2012

server To Oracle Causes SQL Server Instance to Crash

When running a linked server to Oracle using the MSDAORA driver using in-process option checked, I'm getting the following error:

"A transport-level error has occurred when receiving results from the server. (provider: TCP Provider, error: 0 - The specified network name is no longer available.)"

This then causes the instance to crash.

In the Event Log, it shows:

SQL Server is terminating because of fatal exception c0000005. This error may be caused by an unhandled Win32 or C++ exception, or by an access violation encountered during exception handling. Check the SQL error log for any related stack dumps or messages. This exception forces SQL Server to shutdown. To recover from this error, restart the server (unless SQLAgent is configured to auto restart).

When using the out-of-process, it shows the column names in the query results window, but doesn't show any data then immediately in the message window it shows:

Msg 7399, Level 16, State 1, Line 2

The OLE DB provider "MSDAORA" for linked server "smtest" reported an error. Access denied.

Msg 7350, Level 16, State 2, Line 2

Cannot get the column information from OLE DB provider "MSDAORA" for linked server "smtest".

We're using:

SQL Server 2005 SP1 with hot fixes (9.0.2153) 32-bit on 64-bit o/s Windows 2003 R2 Standard x64 Edition Sevice Pack 1

We use lots of linked servers to Oracle on other servers, and can't find anything different on this one.

Appreciate any thoughts, insights!

thanks,

Steve

I have the same problem. Microsoft suggested to edit the sqlnet.ora file so onames comes before tnsnames. So far, this alone has not solved my problem, i'm still digging.|||

Emily,

We found that the problem was caused by a permissions issue on the oci.dll (oracle client .dll).

The way we found it was by using FILEMON (sysinternals site) to find access denied to the Oracle files.

Hope this helps.

Steve

No comments:

Post a Comment