BUG: Out of Memory Error Message Occurs When You Query an ORACLE Linked Server that has a Numeric Column (268520)



The information in this article applies to:

  • Microsoft SQL Server 7.0

This article was previously published under Q268520
BUG #: 57982 (SQLBUG_70)

SYMPTOMS

The following error message occurs when you attempt to retrieve data in an ORACLE linked server table object:
Server: Msg 7399, Level 16, State 1, Line 1
OLE DB provider 'MSDAORA' reported an error. The provider ran out of memory.
The error message occurs if the linked table contains a column of type NUMERIC and the version of the Msdaora.dll file is between 2.10.4202.0 and 2.50.4403.0 inclusive.

WORKAROUND

Re-create the linked server to use the Microsoft OLE DB Provider for ODBC (MSDASQL).

Here are two ways you can work around the behavior:
  • Use the ODBC driver for ORACLE that is provided by Microsoft:
    EXEC sp_addlinkedserver @server = 'ORACLEODBC', @srvproduct = 'MSDASQL', @provider = 'MSDASQL',
     @provstr = 'DRIVER={Microsoft ODBC for Oracle};SERVER=MyOracleServer;UID=USERNAME;PWD=Password;'
    go
    
    sp_addlinkedsrvlogin 'ORACLEODBC', false, NULL, 'USERNAME', 'Password'
    -or-

  • Use the ODBC driver for ORACLE that is provided by ORACLE:
    EXEC sp_addlinkedserver @server = 'ORACLEODBC', @srvproduct = 'MSDASQL', @provider = 'MSDASQL',
     @provstr = 'DRIVER={ORACLE ODBC DRIVER};SERVER=MyOracleServer;UID=USERNAME;PWD=Password;DBQ=ORACLE805;' 
    go
    
    sp_addlinkedsrvlogin 'ORACLEODBC', false, NULL, 'USERNAME', 'Password'

STATUS

Microsoft has confirmed this to be a problem in SQL Server 7.0.

Modification Type:MajorLast Reviewed:10/16/2002
Keywords:kbBug kbCodeSnippet kbDSupport KB268520