GNU/Linux >> Linux の 問題 >  >> Linux

Linux 用 SQLCMD での変数の使用

RTP バージョン (11.0.1790.0) では、-v sqlcmd -? の実行時に、パラメーターのリストに switch が表示されない .このオプションは、ツールの Linux バージョンではサポートされていないようです。
私の知る限り、環境変数からのパラメータ値のインポートも機能しません。

回避策が必要な場合は、1 つ以上の :setvar を連結する方法があります。 ステートメントを、実行するコマンドを含むテキスト ファイルで新しいファイルに書き込んでから、新しいファイルを実行します。あなたの例に基づいて:

echo :setvar param1 DUMMYVALUE > param_input.sql
cat input.sql >> param_input.sql
sqlcmd -S server -d database -U user -P pass -i param_input.sql 

Linuxで変数をエクスポートできます。その後、変数を sqlcmd に渡す必要はありません .ただし、SQL スクリプトを変更して :setvar を削除する必要があることに気付きました コマンドにデフォルト値がない場合。

export dbName=xyz
sqlcmd -Uusername -Sservername -Ppassword -i script.sql


:setvar dbName  --remove this line
USE [$(dbName)]
GO

変数を sqlcmd に渡す必要はありません。シェル変数から自動選択します:例:

export param1=DUMMYVALUE

sqlcmd -S $host -U $user -P $pwd -d $db -i input.sql


Linux
  1. Linuxwgetコマンドを使用するための7つの便利なトリック

  2. GNUScreenを使用するためのLinuxのヒント

  3. Linuxパッケージ管理のためのAppImageの使用

  1. Linuxでのキーベースの認証にssh-keygenと共有を使用する

  2. Python for Linux を使用したキー押下イベントのシミュレート

  3. Microsoft SQL Server for Linux (fedora) をインストールするにはどうすればよいですか?

  1. cronを使用してタスクをスケジュールするためのLinuxのヒント

  2. Linuxでの使い捨てcronジョブにatを使用する

  3. Sql Server Express は Linux で運用できますか?