2011-01-28 6 views
8

あるSQL Serverから別のSQL Serverにデータをコピーするために、SQL挿入スクリプトを生成する必要があります。 .netでは、私は与えられたSQL Serverテーブルのデータを読み込み、これを新しいテキストファイルに書き込みます。このテキストファイルは、このデータを他のデータベースに挿入するために実行できます。スクリプトを使用してVARBINARYをスクリプトしてあるDBから別のDBにコピーする方法はありますか?

いずれかの列はVARBINARY(MAX)です。
取得したバイト[]をスクリプトのテキストに変換して他のデータベースに挿入する方法はありますか?

SSMSは、このデータを16進文字列で示しています。これは使用する形式ですか? 私は、次の

BitConverter.ToString(<MyByteArray>).Replace("-", "") 

でこれと同じフォーマットを取得することができますしかし、どのようにこれを再び挿入することができますか?
私はこのインサートを行い

CONVERT(VARBINARY(MAX), "0xMyHexString") 

試みたが、値は、ソース・テーブルと同じではありません。

+0

バルクコピーまたはSSIS機能を使用しない理由はありますか? – Tony

+0

はい、このスクリプトを実行するだけのアプリケーションで生成されたスクリプトを含めています。アプリケーションは既に存在しており、これまでのところすべて正常に動作したので、私はこれを変更したくありません。 VARBINARYカラムではまだ機能しません。 – Marc

答えて

13
それはあなただけで直接16進数文字列を挿入することができ判明

を、必要は何も変換しないように:

INSERT TableName (VarBinColumnName) 
VALUES (0xMyHexString) 

これを直接テストしなかった理由を聞かないでください...

+0

なぜこれを直接テストしなかったのですか? – TPAKTOPA

関連する問題