BLOGTIMES
2008/05/09

SQLServerのテーブルをTSVにする

  mssqlserver 
このエントリーをはてなブックマークに追加

MS SQLServerにクエリをかけた結果をTSVする必要があったのですが、普段SQLServerなんか使っていないので困ってしまいました。簡単なスクリプトを書こうか思ったのですが、ちょっとGoogleで検索してみたところ、SQL Serverにはbcpというツールが用意されていて、これを使うとクエリの実行結果をファイルにダンプすることができるようです。

bcp ユーティリティ

bcp ユーティリティは、ユーザー指定の形式に基づいて、Microsoft SQL Server 2005 インスタンスとデータ ファイルとの間でデータの一括コピーを行います。bcp ユーティリティを使用すると、多数の新規行を SQL Server テーブルにインポートしたり、データをテーブルからデータ ファイルにエクスポートすることができます。このユーティリティでは Transact-SQL の知識は必要ありません。ただし、queryout オプションと同時に使用する場合は、Transact-SQL の知識が必要になります。データをテーブルにインポートするには、そのテーブル用に作成されたフォーマットファイルを使用するか、テーブルの構造およびテーブルの列に有効なデータの型を理解しておく必要があります。

ちなみに、TSVでクエリ結果をエクスポートするときはこんな感じでOKのようです。

bcp "SELECT col1, col2 from tab1 where col3 > 1" queryout tab1.tsv -T -c

力技で作ってしまわなくて正解でした。
多分、OracleにおけるSQL*Loaderのように、SQL Server使っている人には基本中の基本ツールなんだろうとは思いますけど。


    トラックバックについて
    Trackback URL:
    お気軽にどうぞ。トラックバック前にポリシーをお読みください。[policy]
    このエントリへのTrackbackにはこのURLが必要です→https://blog.cles.jp/item/2552
    Trackbacks
    このエントリにトラックバックはありません
    Comments
    愛のあるツッコミをお気軽にどうぞ。[policy]
    古いエントリについてはコメント制御しているため、即時に反映されないことがあります。
    コメントはありません
    Comments Form

    コメントは承認後の表示となります。
    OpenIDでログインすると、即時に公開されます。

    OpenID を使ってログインすることができます。

    Identity URL: Yahoo! JAPAN IDでログイン