Ошибка задания SQL с OPENQUERY
Я пытаюсь запустить задание SQL с помощью этого сценария TSQL, и возникает следующая ошибка. Код хорошо работает в окне запроса!
В чем проблема с этим кодом в задании sql?
SELECT *
FROM OPENQUERY("192.168.1.1",'SET FMTONLY OFF; EXEC spNewTest @Param1 = ''Test1''')
Сообщение об ошибке: Выполнено от имени пользователя: DOMAIN\USER. Неверный синтаксис рядом с '192.168.1.1'. [SQLSTATE 42000] (Ошибка 102)
С уважением, Элио Фернандес
2 ответа
Я просто заменил двойные кавычки квадратными скобками [192.168.1.1], и работа выполняется, как и ожидалось.
Благодарю.
Использовать этот
SELECT * FROM OPENQUERY('192.168.1.1','SET FMTONLY OFF; EXEC spNewTest @Param1 = ''Test1''')
вместо этого
SELECT * FROM OPENQUERY("192.168.1.1",'SET FMTONLY OFF; EXEC spNewTest @Param1 = ''Test1''')
РЕДАКТИРОВАТЬ: Разница между простой запятой и двойной запятой в том, что вторая не использует его в SQL Server, этот пост от Vineet в 2010 году может поддержать ответ
В чем разница между одинарными и двойными кавычками в SQL?
Спасибо Чарли Фишу за наблюдение