ネットワーク上の既存のSQL Serverインスタンス/ dbsに対するosqlコマンドでいっぱいのレガシー.batスクリプトがいくつかあります。
アプリサーバー(Win Server 2008)から.batスクリプトを実行しようとしましたが、「osql.exe」は内部または外部コマンドとして認識されません」というエラーが表示されます。
Osqlにアクセスするために本格的なSQL Serverをインストールする必要がないことを願っています。
クライアントツールのインストールから取得できると聞きましたが、ライセンスされたSQLサーバーに接続している限り、ライセンスは必要ありません。 (私たちはそうなるでしょう)。
誰か確認できますか? 「クライアントツール」はインストールディスクの一部ですか?
これは実行可能なソリューションですか?
助けてくれてありがとう!
主な推奨事項は次のとおりです。
インストールディスク/ファイルがある場合は、クライアントツールのみをインストールできます。
ダウンロード SQL Server 2012(SP1)Express (「SQL Server Management Studio Express(ツールのみ)」バージョンを最初に試します)
チェックアウト: http://www.mssqltips.com/sqlservertip/1807/sql-server-2008-client-tools-installation/
OSQLがインストールされたマシンを既に持っている場合は、次の2つのファイルだけを新しいサーバーにコピーして(同じディレクトリに配置)、それを機能させることができます。
ライセンスに関する限り、次のファイルを見つけました。
C:\ Program Files\Microsoft SQL Server\110\Tools\Binn\Resources\1033\license_SQLCMD.txt
次のスニペットがあります。
マイクロソフトソフトウェアライセンス条項Microsoft SQL SERVER 2012コマンドラインユーティリティ
...
1。インストールおよび使用権。お客様は、プログラムを設計、開発、およびテストするために、デバイスに任意の数のソフトウェアのコピーをインストールして使用することができます。
注:
OSQLはSQLCMDに置き換えられました。 OSQLを実行すると、次のメッセージが表示されます。
注:osqlはSQL Server 2012のすべての機能をサポートしていません。代わりにsqlcmdを使用してください。詳細については、SQL Server Books Onlineを参照してください。
ただし、既存のコードがOSQLを想定している場合は、最初にコードでSQLCMDをテストして、OSQLとSQLCMD間の動作の変更によってコードが破損しないことを確認する必要があります。
これは、提供されたヒントに基づいて私にとってうまくいきました:
osql.exe
をコピーしてC:\Program Files\Microsoft SQL Server\Client SDK\ODBC\110\Tools\Binn
フォルダにドロップしましたC:\Program Files\Microsoft SQL Server\Client SDK\ODBC\110\Tools\Binn
はすでに環境変数PATHに割り当てられていますその後、osql.exeを必要とするバッチファイルを実行できました。コピーしたosql.exe
のバージョンが非常に古いことに注意してください(1998年11月)
有益な情報を提供していただきありがとうございます。