1

私はSQLサーバー2005エンタープライズ、Windowsサーバー2003を使用しています。

サーバーDESSQLでsqlファイルを実行するために、osql.exeコマンドを実行してみます。

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

次のエラーが表示されます。

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

アップデート:

私もこれを試して、

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エンコーディングを使用すると失敗しますか???

解決策はありますか?

4

2 に答える 2

2

私はあなたが間違った木を吠えていると思います..

エラー 102 は、ソース SQL ファイルからのものである可能性が高い、不適切な SQL 構文です。

更新
私はあなたがあなた自身の質問に答えたと思います..OSQLはANSIおよびUnicodeでエンコードされたファイルを受け入れますが、メモ帳++でファイルを開こうとするとエンコーディングがUTF-8に変更され、同様のエラーが発生しました.

簡単なグーグルで、これこれと、もう少し情報が得られました。

要点は次のとおりです。SQLCMD.exe を使用します。

于 2010-07-27T11:07:36.740 に答える
0

この-nオプションは1> 2> ...行番号のプロンプトを削除しますが、それに付随する他のフラグがないことがわかっているので、-1.

于 2010-07-27T10:58:57.433 に答える