我不得不將生產SQL服務器從SQL 2008遷移到SQL 2012.下面的代碼片段與2008年一起工作良好。出於某種原因。它抱怨從MS SQL調用HTTP命令
「'HTTP'不被識別爲內部或外部命令,可操作 程序或批處理文件。」
有人能讓我知道是怎麼回事嗎?
DECLARE @cmdstr VARCHAR(8000)
DECLARE @URL varchar(8000)
SET @URL = '"My_URL"'
CREATE TABLE #cmd_result (OUTPUT VARCHAR(8000))
EXEC master..xp_sprintf @cmdstr OUTPUT, 'HTTP /s %s ' ,@url
INSERT #cmd_result
EXEC master..xp_cmdshell @cmdstr
PRINT @cmdstr
SELECT * FROM #cmd_result WHERE len(rtrim(output)) > 1
DROP TABLE #cmd_result
這段代碼從哪裏來,它是如何運行的?錯誤「未被識別爲內部或外部命令...」是Windows命令行,告訴你HTTP不是要運行的程序,這是真的。你是否試圖將這個SQL運行到MS-SQL2012命令行工具中?你的逃跑地點肯定有問題。 – binaryatrocity
此代碼從SQL作業運行。這在2008年效果不錯。 – user3389785
是不同的服務器?聽起來像http.exe或http.bat不存在或被移動。 – Bozman