10

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

列の 1 つは VARBINARY(MAX) です。
取得した byte[] をスクリプトのテキストに変換して、他のデータベースに挿入できるようにするにはどうすればよいですか?

SSMS は、このデータを 16 進文字列として表示します。これは使用するフォーマットですか?これと同じ形式を次のように取得できます

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

しかし、これを再び挿入するにはどうすればよいでしょうか。
私は試した

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

これは挿入を行いますが、値はソース テーブルと同じではありません。

4

2 に答える 2

17

16 進文字列を直接挿入するだけで、何も変換する必要がないことがわかりました。

INSERT TableName (VarBinColumnName) 
VALUES (0xMyHexString)

なぜこれを直接テストしなかったのか尋ねないでください...

于 2011-01-28T10:14:08.890 に答える