2017-10-10 22 views
0

データを転送するときにbcpコマンドを使用することがあります。このよう :イメージデータがありません

---Out 
bcp dbname..tableName out tableName.bcp -Uuser -SSERVERNAME -n -Jiso88599 


---IN 
bcp dbname..tableName in tableName.bcp -Uuser -SSERVERNAME -n -Jiso88599 

は、私は、Sybase ASEのDBを持っていると私は、BCPコマンドを使用してデータを転送されています。 テーブルに画像の列があります。しかし、私がそれらを転送したとき、画像列のデータが欠落しています。

一部のみが転送されました。

--- Prod 
SELECT datalength(image_column) FROM dbo.tableName where id='5eb9f' --> 57375 

--- TEST 
SELECT datalength(image_column) FROM dbo.tableName where id='5eb9f' --> 32768 

なぜですか?

答えて

0

bcpの-Tパラメータを使用してtext/imageデータブロックのサイズを設定する必要があります。それ以外の場合は、デフォルトで32768バイト(またはこれまでの値)に設定されています。データ。詳細情報に:

http://infocenter.sybase.com/help/index.jsp?topic=/com.sybase.infocenter.dc30191.1550/html/utility/X14951.htm

あなたはその後、代わりに私は(つまり、ちょうど2ギガバイトの下で)できるだけ高く、それを設定する傾向があり、適切なサイズ以下のクエリを経由してその列の最大の行のサイズを確認することができます私はすべてを得るために。

select max(datalength(column_name)) from table 

ワーニングの言葉 - これはテーブル全体をテーブルスキャンするので、大きなテーブルの実稼働環境でクエリを実行しないでください。

関連する問題