2011-09-30 147 views
2

我试图将数据从.csv文件写入我的postgreSQL数据库。连接是好的,但是当我跑我的工作,我得到以下错误:Talend:将数据写入PostgreSQL数据库错误

Exception in component tPostgresqlOutput_1 
org.postgresql.util.PSQLException: ERROR: zero-length delimited identifier at or near """" 
    at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:1592) 
    at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1327) 
    at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:192) 
    at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:451) 
    at org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:336) 
    at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:328) 
    at talend_test.exporttoexcel_0_1.exportToExcel.tFileInputDelimited_1Process(exportToExcel.java:568) 
    at talend_test.exporttoexcel_0_1.exportToExcel.runJobInTOS(exportToExcel.java:1015) 
    at talend_test.exporttoexcel_0_1.exportToExcel.main(exportToExcel.java:886) 

我的工作很简单: tFileInputDelimiter - > PostgreSQL_Output

我认为错误意味着双引号应该被单引号(“” - >''),但是我如何在Talend中编辑这个?

或者是另一个原因? 任何人都可以帮助我吗?

谢谢!在库窗格

+1

请告诉我们正在执行 –

+0

而它看起来像一个空的列名,或在列给我一个空值的SQL语句。需要查看整个工作,包括输入和输出的模式。 – drmirror

+0

我正在使用[Talend教程]中的customer.csv文件(http://www.talendforge.org/tutorials/data/tuto001/001.zip)。这是我插入到没有表或任何东西的新数据库中,并选择了创建新表的选项(如果它不存在)。 – Tjekkles

回答

3

如果您使用的是customer.csv文件从存储库中,那么你必须直接点击metadata-改变客户文件的属性>文件delimited->客户。

您应该能够右键单击客户文件,然后选择Edit file delimited。在第三个屏幕中,如果文件扩展名为.csv,则在转义字符设置中,您必须选择CSV选项。典型的转义序列(如Excel和其他程序使用的)具有转义字符“\”“,文本框也是”\“”。

您还应该检查在文件设置中编码设置为UTF-8。然后,您可以刷新预览,以表格格式查看文件样本。如果这符合您对数据的期望,那么您应该能够保存元数据条目并将其更新为您的工作。

如果你的文件不在存储库中,然后单击您的文件中的分量上做所有的组件中的基本设置上述CSV配置步骤。