scriptellaを使用してfixwidthファイルをテーブルにインポートする最良の方法は何ですか?
テキストファイル:
blabla bloblo ble bli
列幅:
(1,7) (8,14) (15,21) (22,24)
テーブル:
T_IMPORT (
FIELD1 VARCHAR(8),
FIELD2 VARCHAR(8),
FIELD3 VARCHAR(8),
FIELD4 VARCHAR(4)
)
scriptellaを使用してfixwidthファイルをテーブルにインポートする最良の方法は何ですか?
テキストファイル:
blabla bloblo ble bli
列幅:
(1,7) (8,14) (15,21) (22,24)
テーブル:
T_IMPORT (
FIELD1 VARCHAR(8),
FIELD2 VARCHAR(8),
FIELD3 VARCHAR(8),
FIELD4 VARCHAR(4)
)
私が思いついた解決策は次のとおりです。
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE etl SYSTEM "http://scriptella.javaforge.com/dtd/etl.dtd">
<etl>
<connection id="database" url="jdbc:hsqldb:mem:mymemdb" user="SA" password=""/>
<connection id="in" driver="text" url="${filePath}test_import.txt" />
<query connection-id="in">
<script connection-id="database">
INSERT INTO T_IMPORT
VALUES (
?{column0.substring(0,7)},
?{column0.substring(8,14)},
?{column0.substring(15,21)},
?{column0.substring(22,24)});
</script>
</query>
</etl>