アクセス(mdb)からOracleにデータを移動するためにJavaとscriptella(etlフレームワーク)を使用してプログラムを作成し、各フィールドのAccessのunicodeCompressionをYESに変更し、SqlDeveloperにutf-8データを追加してOracleエンコーディングをテストしました。さて、プログラムを実行してデータを Oracle に移動すると、レコードに疑問符が表示されました。
ここに私のETLがあります
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE etl SYSTEM "http://scriptella.javaforge.com/dtd/etl.dtd">
<etl>
<connection id="dbInput" url="jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ=$MDB_FILE_NAME" />
<connection id="dbOutput" url="jdbc:oracle:thin:@localhost:1521:xe" user="user" password="pass" />
<query connection-id="dbInput" >
SELECT * FROM table1;
<script connection-id="dbOutput">
INSERT INTO some_table(COLUMN1, COLUMN2, COLUMN3) values (?field1,
?field2, ?field3);
</script>
</query>
</etl>
それの何がいけないの?
jasperETL などの ETL ツールで入力/出力エンコーディングを見てきましたが、 scriptella にそのようなものはありますか?
oracle でデータを移動しました。最後のデータ(id=4)は SqlDeveloper に直接入力しました