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月26日 5:52
    2013年8月12日 0:37

すべての返信

  • -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月26日 5:52
    2013年8月12日 0:37
  • 以下辺りが参考になりそうですね。

    How to stop the “Changed database context to …” message
    http://stackoverflow.com/questions/10412673/how-to-stop-the-changed-database-context-to-message

    SQLCMD: supress "Changed database context to . . ."
    http://go4answers.webhost4life.com/Example/sqlcmd-supress-changed-database-81026.aspx


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

    2013年8月13日 1:44
  • ありがとうございます。

    確かに調べたら-h-1は列ヘッダでした・・・思いっきり勘違いしてました。

    でも、別の方法もあるんですね。

    そちらもマシンの準備ができたら調べてみたいと思います。

    ありがとうございました。

    2013年8月13日 3:19