2013-03-11 2 views
0

Каков наилучший способ импортировать файл фиксированной ширины в таблицу с помощью scriptella?Импортировать текстовые файлы с фиксированной шириной с помощью scriptella

Textfile:

blabla bloblo ble bli 

ColumnWidth:

(1,7) (8,14) (15,21) (22,24) 

Таблица:

T_IMPORT (
    FIELD1 VARCHAR(8), 
    FIELD2 VARCHAR(8), 
    FIELD3 VARCHAR(8), 
    FIELD4 VARCHAR(4) 
) 

ответ

0

Решение, которое я придумал это:

<?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>