2011-09-30 79 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配置步驟。