Wednesday, March 17, 2010

Problem to setup a linked server from a x64 edition to 2000 32 bit edition

When I did a setup of a linked server to an old SQL 2000 32 bit server I got this error when trying to do a select on a table in the linked server. There was no problem to setup the linked server.

OLE DB provider "SQLNCLI10" for linked server "BTC_SERVER" returned message "Unspecified error".
OLE DB provider "SQLNCLI10" for linked server "BTC_SERVER" returned message "The stored procedure required to complete this operation could not be found on the server. Please contact your system administrator.".
Msg 7311, Level 16, State 2, Line 1
Cannot obtain the schema rowset "DBSCHEMA_TABLES_INFO" for OLE DB provider "SQLNCLI10" for linked server "BTC_SERVER". The provider supports the interface, but returns a failure code when it is used.

For any reason SQL try to use stored procedure that is missing. If I add this sp everything works fine for me.


create procedure [dbo].[sp_tables_info_rowset_64]
@table_name sysname,
@table_schema sysname = null,
@table_type nvarchar(255) = null

as

declare @Result int set @Result = 0
exec @Result = sp_tables_info_rowset @table_name, @table_schema, @table_type

2 comments:

Anonymous said...

thanks? it helps

Anonymous said...

thanks! it helps :)