Touska
یک شنبه 15 اسفند 1389, 12:38 عصر
با سلام
من تو موارد زیادی این مشکل رو دارم ، که هر کدوم را به طریقی حل می کنم.
یکی رو با FMTONLY OFF و یکی رو با NOCOUNT ON
مشکل اینکه من یک SP طراحی می کنم که خط اولش یک مقدار رو UPdate می کنه
و خط دوم یک مقداری رو Select می کنه ولی وقتی آن را از طریق OPENROWSET صدا
می زنم از رو یک سرور SQL دیگر دستور UPDATE اجرا نمی شود ولی SELECT اجرا شده
و مقدار را بر می گرداند ، قابل ذکر است که همان SP روی سرور بدون مشکل اجر می شه.
Query به این صورت هست :
CREATE PROCEDURE [dbo].[PI_Center_Date]
@Center_Code INT
AS
BEGIN
SET NOCOUNT ON
UPDATE Center_Protocol SET Get_Date = 0 WHERE Center_Code = @Center_Code
SET NOCOUNT OFF
SELECT Get_Date FROM Center_Protocol Where Center_Code = @Center_Code
END
و روش صدا زدنش :
SELECT A.* FROM OPENROWSET('SQLOLEDB','192.168.100.100';'sa';'pass ',' SET FMTONLY OFF; EXECUTE [MMT].[dbo].[PI_Center_Date] 30 ') A
سروری که روش SP هست 2008 SP2 هست و سرور دیگر 2000 SP4 هست.
مشکل از چیست ، ممنون
من تو موارد زیادی این مشکل رو دارم ، که هر کدوم را به طریقی حل می کنم.
یکی رو با FMTONLY OFF و یکی رو با NOCOUNT ON
مشکل اینکه من یک SP طراحی می کنم که خط اولش یک مقدار رو UPdate می کنه
و خط دوم یک مقداری رو Select می کنه ولی وقتی آن را از طریق OPENROWSET صدا
می زنم از رو یک سرور SQL دیگر دستور UPDATE اجرا نمی شود ولی SELECT اجرا شده
و مقدار را بر می گرداند ، قابل ذکر است که همان SP روی سرور بدون مشکل اجر می شه.
Query به این صورت هست :
CREATE PROCEDURE [dbo].[PI_Center_Date]
@Center_Code INT
AS
BEGIN
SET NOCOUNT ON
UPDATE Center_Protocol SET Get_Date = 0 WHERE Center_Code = @Center_Code
SET NOCOUNT OFF
SELECT Get_Date FROM Center_Protocol Where Center_Code = @Center_Code
END
و روش صدا زدنش :
SELECT A.* FROM OPENROWSET('SQLOLEDB','192.168.100.100';'sa';'pass ',' SET FMTONLY OFF; EXECUTE [MMT].[dbo].[PI_Center_Date] 30 ') A
سروری که روش SP هست 2008 SP2 هست و سرور دیگر 2000 SP4 هست.
مشکل از چیست ، ممنون