Daha taze taze rastladığım bir hata ve çözümünden bahsetmek istiyorum.

SQL Server 2008 64 bit SQL Server kurulu bir server dan SQL Server 2000 e Linked Server ile bağlantı kurmaya çalışırken aşağıdaki gibi bir hata alabilirsiniz.

Msg 7311, Level 16, State 2, Line 1
Cannot obtain the schema rowset "DBSCHEMA_TABLES_INFO" for OLE DB provider "SQLNCLI" for linked server "<LinkedServerName>". The provider supports the interface, but returns a failure code when it is used.

Bunun sebebi bağlanmaya çalıştığınız SQL Server 2000 de SP3 ve SP4 ün kurulu olmaması.

Çözüm olarak 2 yol önereceğim;

  • Bağlanmaya çalıştığınız SQL Server 2000 e SP3 ve SP4 ü yükleyin.
  • Eğer daha kısa bir çözüm istiyorsanız aşağıdaki SP yi bağlanmaya çalıştığınız SQL Server 2000 de master DB sinde create edin.
use master
create procedure 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
go

 

Konuyla ilgili KB article a da buradan erişebilirsiniz. http://support.microsoft.com/kb/906954

İyi çalışmalar

Not : Blog haricinde, faydali gördügüm yazilari ve linkleri twitter adresimden paylasiyorum. Beni twitter'da takip etmek için : twitter.com/turgaysahtiyan