Ошибка при использовании osql.exe (Sql Server 2005) - PullRequest
1 голос
/ 27 июля 2010

Я использую SQL Server 2005 Enterprise, Windows Server 2003.

Я пытаюсь выполнить команду osql.exe, чтобы выполнить файл sql на моем сервере. DESSQL:

osql.exe -E -n-1 -i"CarpetaUno\TextFile1.sql"

Я получаю эту ошибку:

Msg 102, Level 15, State 1, Server DESSQL, Line 1
Incorrect syntax near 'n'

UPDATE:

Я тоже так пытаюсь,

osql.exe -E -i"CarpetaUno\TextFile1.sql"

1> 2> Msg 102, Level 15, State 1, Server DESSQL, Line 1
Incorrect syntax near 'n'

Наконец, я использую команду SQLCMD:

SQLCMD -E -b -i "CarpetaUno \ TextFile1.sql"

Но не работает с помощью команды osql !!

Я тестирую:

1.) С использованием опции -S ServerName,

2.) С использованием абсолютного пути: osql.exe -E --i C: \ CarpetaUno \ TextFile1.sql

3.) Содержимое TextFile1.sql, все в порядке, я тестирую с использованием SSMS

CREATE DATABASE PRUEBA;

DROP DATABASE PRUEBA;

но я получаю одинаковую ошибку во всех тестах.

Может ли произойти сбой, если я использую в файле кодировку utf-8 ???

какие решения?

Ответы [ 2 ]

2 голосов
/ 27 июля 2010

Я думаю, что вы лаете не на то дерево ..

Ошибка 102 - неправильный синтаксис SQL, скорее всего из исходного файла SQL.

Обновление
Я думаю, что вы ответили на свой вопрос .. OSQL принимает файлы в кодировке ANSI и Unicode, НО я попытался открыть свой файл с помощью notepad ++, изменил кодировку на UTF-8, и я получил похожие ошибки.

Быстрый Google дал мне это и это с немного большей информацией.

Нижняя строка: используйте SQLCMD.exe

0 голосов
/ 27 июля 2010

Параметр -n удаляет подсказки с номером строки 1> 2> ..., и, кстати, другие флаги не сопровождают его, поэтому удалите -1.

...