- PR -

【SQLServer】BCPは、SQL文の長さに制限あり?

1
投稿者投稿内容
あき
ベテラン
会議室デビュー日: 2003/07/23
投稿数: 72
投稿日時: 2005-02-18 15:43
いつもお世話になります。

BCPコマンドQUERYOUTオプションを利用して1023バイト以上のSQL文を実行すると、次のエラーメッセージが表示されます。
"BCPコマンド : 標準エラー出力クエリのヒット数がコマンド バッファの最大サイズ 1023 バイトを超えました (1045 バイト入力されました)。\r\n: No error\r\n"
この動作は、BCPコマンドの制限でしょうか?

Microsoft SQL Server 7.0 Standard Edition だと仕様のようです。
<http://support.microsoft.com/kb/279180/ja>

ご存知の方がいらっしゃいましたら、どうぞ教えてください。よろしくお願いします。

[環境]Microsoft Windows Server 2003 , Microsoft SQL Server 2000 SP3
mso
ぬし
会議室デビュー日: 2003/12/04
投稿数: 496
お住まい・勤務地: 宮城
投稿日時: 2005-02-18 16:05
msoです。

引用:

あきさんの書き込み (2005-02-18 15:43) より:
いつもお世話になります。

BCPコマンドQUERYOUTオプションを利用して1023バイト以上のSQL文を実行すると、次のエラーメッセージが表示されます。
"BCPコマンド : 標準エラー出力クエリのヒット数がコマンド バッファの最大サイズ 1023 バイトを超えました (1045 バイト入力されました)。rn: No errorrn"
この動作は、BCPコマンドの制限でしょうか?

Microsoft SQL Server 7.0 Standard Edition だと仕様のようです。
<http://support.microsoft.com/kb/279180/ja>

ご存知の方がいらっしゃいましたら、どうぞ教えてください。よろしくお願いします。

[環境]Microsoft Windows Server 2003 , Microsoft SQL Server 2000 SP3



SQLServer7のころからその制限は変わっていないみたいです。
なので、ダミーのテーブルを作成し、そこにあらかじめデータを作りこんでから
BCPするって方法を私は毎回とっています。
あき
ベテラン
会議室デビュー日: 2003/07/23
投稿数: 72
投稿日時: 2005-02-18 17:07
ご意見ありがとうございました。
ビューや別テーブルにて対応したいと思います。
キース
会議室デビュー日: 2003/02/13
投稿数: 8
投稿日時: 2008-11-04 14:22
私も同様のエラー(bcp でのQueryのバイト数1023バイト制限)に引っかかり、結局はViewを作成し、bcpではViewからSELECTするという方法で逃れました。

しかしあるPC(最初にbcpを試したPC)でのみ、にこのエラーが発生せず、不思議に思っております。
このPCでも同様のエラーが出ていれば、バタバタする事もなかったというのと、今後の開発でもこのような事が起こると大変だと思い書き込みしました。

情報があればご教授願います。

[環境]
(1)エラーが発生しない環境
  ・Windows XP Pro SP3 / SQL Server 2005 Express Edition SP2(*1)
  ・Windows XP Pro SP2 / SQL Server 2005 Express Edition SP2(*1)
  ・Windows Vista Business SP1 / SQL Server 2005 Express Edition SP2
  ・Windows XP Pro SP2 / SQL Server 2005 Express Edition SP2

(2)エラーが発生した環境
  ・Windows XP Pro SP2 / SQL Server 2005 Developer Edition SP2(*2)
  ・Windows XP Pro SP2 / SQL Server 2000 Desktop Engine(MSDE) SP4
  ・Windows XP Pro SP2 / SQL Server 2005 Express Edition SP2
  ・Windows XP Pro SP2 / SQL Server 2005 Express Edition SP2(*1)
  ・Windows XP Pro SP3 / SQL Server 2000 Desktop Engine(MSDE) SP4
  ・Windows XP Pro SP3 / SQL Server 2005 Express Edition SP2

  *1 SQL Server 2000 Desktop Engine(MSDE) SP4からのアップグレード
  *2 SQL Server 2005 Express Edition SP2 からのアップグレード
1

スキルアップ/キャリアアップ(JOB@IT)