none
SQL2005のSQLCMDオプションについて質問

    質問

  • 宜しくお願い致します。

    今、外部の通信機器とSQL Server2005間にて通信を行いたいのですが、

    Telnetでログイン後、

    SQLCMD -S 192.168.100.1 -U UserID -P Password -h -1

    のように-h -1にてヘッダーを出力しないとしているのですが、その後のSQLコマンドで

    USE SampleDB

    go

    と入れると

    Changed database context to "SampleDB".

    と出てきます。

    以前SQLサーバー2012でテストした際は"OK"だけだったように思うのですが勘違いでしょうか?

    2012の環境をすぐに作れないため、SQL2005でヘッダーを出力しない方法をご教授願います。

    宜しくお願い致します。

    追記

    2012でテストしたら「データベース コンテキストが 'sampleDB'に変更されました。」

    と表示されました。。。

    でも、-h -1を入れても入れなくても同じ結果なのはなぜでしょうか?

    何か解釈が間違っているのでしょうか?

    私は長いレスポンスが欲しくないだけです。

    宜しくお願い致します。

    • 編集済み 春団治 2013年8月11日 10:34
    2013年8月10日 4:41

回答

  • -h -1 は、列ヘッダの表示を制御するものです。例えば、select * from hogeとしてみて下さい。列ヘッダ、つまり列名が表示されないはずです。
    さて、「データベース コンテキストが 'sampleDB'に変更されました。」を表示しない方法ですが、SQLCMDINIを使用して、何らかのオプションを指定すれば可能かもしれません。例えば、SET NOCOUNT ONを使用すると、select * from hogeの実行時に、(○行処理されました)というメッセージが表示されなくなります。

    (参考)
    sqlcmd でのスクリプト変数の使用
    http://technet.microsoft.com/ja-jp/library/ms188714.aspx

    #「何らかのオプション」を調べる時間が今は取れません。すみません。


    ★良い回答には回答済みマークを付けよう! わんくま同盟 MVP - Visual C# http://d.hatena.ne.jp/trapemiya/

    2013年8月12日 0:37

すべての返信