Distributed query does not work between 64bit and 32bit servers.

  • Hi!

    I have two MS SQL servers: Server1 & Server2. Both are Win2003 Server + MS SQL 2000, but the first is 64bit version, while second is a 32bit version.

    When I try to do this:

    insert into Server2.mydb.dbo.table1 select * from Server1.mydb.dbo.table1 order by add_item

    I get an error:

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

    OLE DB provider 'SQLOLEDB' reported an error. 

    [OLE/DB provider returned message: Unspecified error]

    [OLE/DB provider returned message: The stored procedure required to complete this operation could not be found on the server (they were supplied with the ODBC setup disk for the SQL Server driver).  Please contact your system administrator.]

    OLE DB error trace [OLE/DB Provider 'SQLOLEDB' IDBSchemaRowset::GetRowset returned 0x80004005:   ].

     

    It works fine backward:

    insert into Server1.mydb.dbo.table1 select * from Server2.mydb.dbo.table1 order by add_item

     

    On Microsoft site I found a descrition for this error:

    HY000 The stored procedure required to complete this operation could not be found on the server (they were supplied with SQL Server). Please contact your system administrator.

     

    The workaround is:

    Install the ODBC catalog stored procedures by executing \Msqql\Install\Instcat.sql. 

     

    I ran this script from QA on both servers - it did not help.

    Where else may be a problem?

    Thanks.

  • Include the Field List.

    insert into Server2.mydb.dbo.table1 (fld1,fld2,...)

    select fld1,fld2,... from Server1.mydb.dbo.table1 order by add_item


    * Noel

  • Already did this - the same error.

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

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