2012-01-10 4 views
3

У меня есть автоматически сгенерированный SQL скрипт с этой базовой структурой:Есть ли способ использовать комментарии блока после GO в SQL?

/* 
*/ 
PRINT 'Stuff' 
GO 
/* 
*/ 
PRINT 'Other stuff' 

Проблема заключается в том, что SQL Server не похожа, как блокировать комментарии, когда они помещены после GO. Для этого есть ошибка: Connect (установленный не для того, чтобы зафиксировать, вздох), а парень по имени Devi опубликовал some workarounds, но они действительно не работают для меня, потому что мой скрипт автогенерируется.

я могу вставить что-то после в GO и перед вторым блоком комментарием. Я пробовал различные вещи там, однако, не меняя ошибочный результат, который, FWIW, это полезный текст:

Msg 102, Level 15, State 1, Line 1 Неправильный синтаксис около ''.

Есть ли что-нибудь, что я могу придерживаться между GO и комментарием, чтобы избежать этой ошибки?

ответ

4

Ваша проблема, по-видимому, носит иной характер, и на это указывают две вещи.

  1. Связанная Connect страница о /* ... */ комментарий после GOна одной и той же линии с ним, но в вашем случае комментарий начинается на линии, которая следуетGO.

  2. вопрос вы намекая производит это сообщение об ошибке:

    A fatal scripting error occurred. 
    Incorrect syntax was encountered while parsing GO. 
    

    Но твоя отличается:

    Msg 102, Level 15, State 1, Line 1 
    Incorrect syntax near ''. 
    

Я собираюсь гадать здесь (но не чрезмерно, Надеюсь, что ваш генератор сценариев использует разрывы строк в стиле Mac (0x0D) вместо Windows-стиле (0x0D0A). Я был в состоянии почти воспроизвести проблему, используя разрывы Mac строки, но в моем случае ошибка была лишь немного отличается от вашей:

Msg 102, Level 15, State 1, Line 1 
Incorrect syntax near 'GO'. 

Тем не менее, кажется, достаточно близко, чтобы я предлагаю вам проверить, какой тип линии ломает ваш генератор сценариев.

+0

Ах! В шестнадцатеричном представлении у меня была спецификация UTF-8 (0xef, 0xbb, 0xbf) непосредственно перед комментарием. Большое спасибо за расследование! – ladenedge

+0

@ladenedge: Не совсем ожидал этого! Но, по-моему, с генерацией кода возможны еще более неожиданные вещи. :) Спасибо за ответ. –

Смежные вопросы