我有一个空的SQLlite数据库。接下来,我有6个输入文件(分隔,excel,json,xml)。
现在,我想要做的就是将输入文件加载到空数据库中。 我试图将一个输入文件与数据库连接,然后运行它。这没有用(DB doens中没有任何内容,我怀疑这是一个问题)。
然后,我尝试将输入文件与tMap连接,在那里定义表,定义模式并将tMap连接到DB(tSQLliteOutput)。
当我尝试运行它时,收到以下错误:
Starting job ProductDemo_Load at 16:46 15/11/2015.
[statistics] connecting to socket on port 3843
[statistics] connected
Exception in component tSQLiteOutput_1
java.sql.SQLException: no such table:
at org.sqlite.DB.throwex(DB.java:288)
at org.sqlite.NativeDB.prepare(Native Method)
at org.sqlite.DB.prepare(DB.java:114)
at org.sqlite.PrepStmt.<init>(PrepStmt.java:37)
at org.sqlite.Conn.prepareStatement(Conn.java:231)
at org.sqlite.Conn.prepareStatement(Conn.java:224)
at org.sqlite.Conn.prepareStatement(Conn.java:213)
at workshop_test.productdemo_load_0_1.ProductDemo_Load.tFileInputExcel_1Process(ProductDemo_Load.java:751)
at workshop_test.productdemo_load_0_1.ProductDemo_Load.runJobInTOS(ProductDemo_Load.java:1672)
at workshop_test.productdemo_load_0_1.ProductDemo_Load.main(ProductDemo_Load.java:1529)
[statistics] disconnected
Job ProductDemo_Load ended at 16:46 15/11/2015. [exit code=1]
我发现导入有问题,但具体到底是什么? 为了成功地从数据库中的输入文件加载数据,我该怎么办?
我从这个小教程中完成了确切的步骤: Talend Job: load data into database.
答案 0 :(得分:1)
大多数talend输出组件都有create table if if exists选项..你是否在tsqliteoutput中检查了这个...似乎当talend将数据插入空数据库时你的表无法找到它,因为它不存在..所以你要告诉talend先创建表..