Linked Server kullanarak aktarımda alınan hata
Örneğin, lnkXxxSRV adında iki sunucu arası Linked Server tanımlı. SELECT, UPDATE işlemlerimde herhangi bir problem olmuyor. Fakat bir Stored Procedure ile karşı sunucudaki tabloya INSERT işlemi yapmak istediğinizde aşağıdaki hatayı alıyorsunuz.
OLE DB provider “SQLNCLI10″ for linked server “lnkXxxSRV” returned message “Cursor operation conflict”. Msg 7343, Level 16, State 2, Line 1 The OLE DB provider “SQLNCLI10″ for linked server “lnkXxxSRV” could not INSERT INTO table “[lnkXxxSRV].[SQLDB].[dbo].[tblAktarim]“.
Eğer yukarıdaki gibi bir hata ile karşılaşıyorsanız. Bunun tek bir nedeni vardır. Default Connection options ‘da ki no count özelliği bu hataya yol açar. Büyük ihtimalle Server Properties‘de no count özelliğiniz aktif durumdadır. Bunu kaldırdığınız taktirde INSERT statement’ınız sorunsuz aktarımı yapacaktır. Bu değişikliği yapmak için aşağıdaki adımlarla ilerleyebilirsiniz.
-
Değişikliği Microsoft SQL Server Management Studio ile yapmak için;
-
Server isminize sağ tıklayıp Properties ‘e girin.
-
Select a page panelinden Connections tab’ına geçin.
-
Default connection options bölümünde no count özelliğinin işaretini kaldırın.
Değişikliği Query ile yapmak için;
USE master
GO
EXEC sp_configure 'user options', 0
Eğer Query ile no count özelliğini yeniden işaretli hale getirmek isterseniz;
USE master
GO
EXEC sp_configure 'user options', 512