Итак, мы используем osql для запуска хранимых процедур как часть нашего процесса сборки. Мы используем проект с папкой sp, который публикуется с приложениями как часть пакета сборки.OSQL Неправильный синтаксис - Кодировка символов - Требуется справки по сценариям Powershell
Я использовал Visual Studio для создания этой структуры проекта и создал sql-скрипты для запуска в proc.
Visual Studio сохранил файлы с форматированием UTF8 (по умолчанию). OSQL при работе в сценарии жаловались на каждый сценарий, имеющий синтаксическую ошибку в строке 1, т.е.
> Incorrect syntax near '´'. 1> 2> Msg 102, Level 15, State 1,
> Server GBEPIAP-SQL01, Line 1
Скорее озадачивает.
В любом случае; чтобы исправить эту проблему, SQL-скрипты могут быть сохранены с Unicode Codepage 1200 (Файл -> Advanced Save Options)
вуаля - проблема ушла
Теперь это оставило меня с еще большей проблемой; У меня более 200 скриптов proc, которые мне нужно открыть, изменить кодировку и сохранить с новой кодировкой.
Может ли любой гуру powershell создать быстрый сценарий для изменения кодировки каждого файла в папке в Unicode Codepage 1200? Будет делать мне одолжение, а также экономит время.
OSQL действительно очень старый - вы должны попробовать использовать 'sqlcmd' вместо этого, что гораздо более позднего и можете обрабатывать кодировки лучше –
достаточно Valid комментария. Я могу сделать предложение команде сборщиков, но это выходит за рамки моего мандата. –