Ошибка задания 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?

Спасибо Чарли Фишу за наблюдение

Другие вопросы по тегам