0
當我作爲參數傳遞給sp_execute(我已經將服務器添加爲鏈接服務器)時,我無法找到服務器名稱。當我傳遞一個硬編碼的服務器名時它會得到執行。在sys.servers中找不到服務器'+ @ servername +'
SET @PARMDEFINITION =N'@SOURCE_SERVER_NAME_IN VARCHAR(100), @SOURCE_DB_NAME_IN VARCHAR(100) ,@DESTI_SERVER_NAME_IN VARCHAR(100), @DESTI_DB_NAME_IN VARCHAR(100),
@DESTI_STUDENT_COUNT_OUT INT OUTPUT,@SOURCE_STUDENT_COUNT_OUT INT OUTPUT';
SET @SQLSTRING='SELECT @SOURCE_STUDENT_COUNT_OUT=COUNT(*) FROM [@SOURCE_SERVER_NAME_IN].[@SOURCE_DB_NAME_IN].DBO.STUDENT_MST WHERE CONVERT(FLOAT, RANK) <> 0 AND PAID2 =''S'''
EXECUTE SP_EXECUTESQL @SQLSTRING,@PARMDEFINITION,@[email protected]_SERVER_NAME,@[email protected]_SERVER_NAME,
@[email protected]_DB_NAME,@[email protected]_DB_NAME ,
@[email protected]_STUDENT_COUNT OUTPUT,@[email protected]_STUDENT_COUNT OUTPUT;
找不到服務器sys.servers
'+ @服務器+' 請指教。
請後,才造成此錯誤的代碼。 – Taryn
@Saurabh我試圖重新說出你的問題,使之更有意義,請說出我是否誤解了你想要的東西。 – Bridge
上面的實際錯誤消息是否是'@ servername'替換爲傳遞給存儲過程的實際值?存儲過程的實際代碼在哪裏?我懷疑你沒有正確使用參數(作爲參數) –