OLE DB provider ''MSDAORA'' returned an invalid schema definition.

  • i´m new in SQLServer and need some help.

    I have a sql server linked to the production database (Oracle 9i), from the sql analyzer i select count(*) from LINKED_SERVER..OWNER.TABLE and it bring me the count, but if i do this with a particular table, the sql analyzer gives me this error:

    Server: Msg 7317, Level 16, State 1, Line 1

    OLE DB provider 'MSDAORA' returned an invalid schema definition.

    OLE DB error trace [Non-interface error:  OLE/DB provider returned an invalid schema definition.].

     

    this problem is only with one table. In the oracle server, i made a copy of the table with a few rows, then i try the select with a new one and it works !!, i think the problem is with some kind of index in the Oracle Server, but i not really sure and don´t know what to do.

    If any one can Help Me, I´ll thanks a lot

     

     

  • I found the cause of this problem:

    In the oracle server, the table has a desc order index, this is not soported by the MSDAORA.

    I drop the index and recreated in asc order and the select works fine

    I hope this can help

  • Hi Erik,

    I have the same problem, but the table has a asc order index.

    And I can´t resolve this problem.

    I tryied to use OPENQUERY, but the procedure doesn´t compile.

    eg: UPDATE OPENQUERY ('DESE', 'SELECT COLUMN1, COLUMN2 FROM

                                         OWNER.TABLE )

          SET COLUMN1 = X, COLUMN = Y

          WHERE COLUMN3 = Z

    The message is:

    "Server: Msg 7399, Level 16, State 1, Procedure TEST, Line 33

    OLE DB provider 'SQLOLEDB' reported an error. 

    [OLE/DB provider returned message: Invalid authorization specification]

    OLE DB error trace [OLE/DB Provider 'SQLOLEDB' IDBInitialize::Initialize returned 0x80004005:   ]."

    Did you see this problem?

Viewing 3 posts - 1 through 3 (of 3 total)

You must be logged in to reply to this topic. Login to reply