OracleのRAW型をSQL ServerのVARBINARY型への移行方法
OracleのテーブルをMSSQLへ移行する
ORACLEがRAW型を持つデータがあり、SQL Serverへ移行する方法を探した結果
なんとか解決したので、メモ。
OracleのRAW型に対応するMS SQLServerの型はVARBINARY型
CREATE TABLE rawdata ( PASSWORD RAW(64) );
CREATE TABLE bindata ( PASSWORD VARBINARY(64) );
OracleのRAW型はRAWTOHEXでHEX値として出力
SELECT RAWTOHEX(PASSWORD) AS PASSWORD FROM rawdata; ------- PASSWORD 88db98ae696277dd28b0d2bda6e3.... eaead8048dbe6d7f375bfd11d8947f....
SQLSERVERへは’0x'をつけてHEX値としてINSERTする
insert into bindata values (0x88db98ae696277dd28b0d2bda6e3....);
ORACLEのSELECT文でInsert文を作る
SELECT 'insert into bindata values (0x' || RAWTOHEX(PASSWORD) || ');' FROM bindata
参考
RAW Data Type - Oracle to SQL Server Migration - SQLines Open Source Tools