2007.05.07

BCPでQUERYOUTを使用する場合の文字数制限

BCPコマンドのQUERYOUTオプションを使用して、SELECT文でデータを取得し
CSV等の形式でデータを出力する場合にクエリの文字数制限に注意しなくてはいけません。

Microsoftのサポート情報によると
以下参照 http://support.microsoft.com/kb/279180/ja

クエリの制限は約1023バイトという仕様のようです。
サポート情報はSQLServer7.0の情報ですが、私が検証したところSQLServer2005でも
同様の仕様が引き継がれているようです。

SELECT文をQUERYOUTオプションで使用する場合には、以下の方法で回避するしかないでしょう。

1.SELECT文を1023バイト以内にする。

2.抽出するデータフォーマットのワークをあらかじめ作成し、データを格納しておく。

3.抽出する条件のビューを作成しておく。

以上のことを気にとめて、QUERYOUTオプションを使用しましょう。

コメントを投稿

(いままで、ここでコメントしたことがないときは、コメントを表示する前にこのブログのオーナーの承認が必要になることがあります。承認されるまではコメントは表示されません。そのときはしばらく待ってください。)

photo
nishimaki