0

SQL Server 2005 のエンタープライズ エディションで sqlcmd を使い始めたばかりです。

コマンドラインからサーバーに正常に接続できます:

sqlcmd -SSQLSERVERNAME -Q"select test=1"

ただし、次の 1 行だけを含む jump.sql ファイルを作成すると、次のようになります。

:connect -SSQLSERVERNAME

...コマンドラインで次のコマンドを実行して実行してみます。

sqlcmd -i C:\junk\junk.sql

...接続すらできません。次のエラーが表示されます。

名前付きパイプ プロバイダー: SQL Server [2] への接続を開けませんでした。Sqlcmd: エラー: Microsoft SQL Native Client : サーバーへの接続の確立中にエラーが発生しました。SQL Server 2005 に接続する場合、このエラーは、既定の設定では SQL Server がリモート接続を許可しないことが原因である可能性があります. Sqlcmd: エラー: Microsoft SQL Native Client: ログイン タイムアウトの期限が切れました。

私が読んだことから、 connect コマンドを使用するとうまくいくはずだと思いました。私の使い方が間違っているだけでしょうか?私がやりたいのは、connect コマンドを使用して (最終的には別のサーバーの変数を使用して) SQL ファイルに接続し、:r コマンドを使用して別の SQL ファイルを実行することです。

考え?

ありがとう、シルビア

4

2 に答える 2

1

この:connectコマンドには -S スイッチは必要ありません。

:connect "SQLSERVERNAME"
于 2009-12-16T23:52:51.847 に答える
0

わかりました-私は2つのことを間違っていました:

** sqlcmd を実行すると、最初から何かに接続している必要があるようです。私はこれを行うことができると思いました:

sqlcmd -i C:\junk\junk.sql

しかし、私はこれをしなければなりませんでした

sqlcmd -i -SServerName C:\junk\junk.sql

ローカルのデフォルト インスタンスが実行されていませんでした。おそらく、ローカルのデフォルト インスタンスが実行されていれば、問題はありません。

** 次に、junk.sql で、次のことができます。

:接続サーバー名

ではないことに注意してください

:connect -SServerName

お役に立てれば!

于 2009-12-17T00:02:42.890 に答える