Это не должно быть так сложно, но я просто не могу найти, где я ошибаюсь. Ниже приведена синтаксическая ошибка (очень не описательная). Причина, по которой я делаю это так, заключается в том, что в конечном итоге я хочу заменить даты на значения из переменных.MSSQL-OPENROWSET, Передача дат в динамическом запросе
Был бы благодарен второй (или третий) комплект глаз.
DECLARE @sql nvarchar(1000) = 'SELECT * FROM OPENROWSET (''SQLOLEDB'',''Server=WIN-
T7HOHROSTNT\SQLEXPRESS;TRUSTED_CONNECTION=YES;database = MyDB'',
''SET FMTONLY OFF; SET NOCOUNT ON; EXEC [MyDB].[dbo].[GetCourseReport]
@Start = N''22 Jan 2014 4:00pm'',
@End = N''23 Jan 2014 4:00pm'',
@QueryTime = N''22 Jan 2014 8:00pm'',
@CourseSUID = 1'') AS Result'
EXECUTE sp_executesql @stmt = @sql
Я получаю приведенный выше код от копирования/вставки из нижеследующего запроса, который действительно работает;
SELECT * FROM OPENROWSET ('SQLOLEDB','Server=WIN-T7HOHROSTNT\SQLEXPRESS;TRUSTED_CONNECTION=YES;database = MyDB',
'SET FMTONLY OFF; SET NOCOUNT ON; EXEC [MyDB].[dbo].[GetCourseReport]
@Start = N''22 Jan 2014 4:00pm'',
@End = N''23 Jan 2014 4:00pm'',
@QueryTime = N''22 Jan 2014 8:00pm'',
@CourseSUID = 1') AS Result