2014-12-03 64 views
0

我有6個演出csv,我試圖將其加載到Teradata中。通過Teradata將大CSV插入空表時出錯SQL助手

所以我火了Teradata的SQL助理,創建了一個空表,然後我打開導入的數據模式,並嘗試使用

insert into some_lib.some_table 
(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?); 

插入記錄到空表,但我總是避開失敗消息那去

讀取錯誤導入文件以創紀錄的614770的600K行標誌:類型 「System.OutOfMemoryException的」引發的異常。

我認爲這是因爲在嘗試將數據發送到Teradata服務器之前,Teradata SQL助手試圖在我的4G筆記本電腦上將所有內容加載到內存中。我的理論是否正確?如何告訴Teradata以塊的形式上傳數據,而不是嘗試將所有內容存儲在本地內存中?

回答

1

我相信你正在推動SQL Assistant的功能作爲加載數據的手段。

您是否考慮在系統上安裝Teradata Load Utilities,例如FastLoad或MultiLoad?

如果您不想爲加載實用程序編寫腳本,另一個選擇是安裝Teradata Studio Express,它應提供使用JDBC FastLoad加載數據的機制。這將在Studio Express的Smart Loader機制中。您可能會發現這比使用.Net或ODBC的SQL Assistant更具可擴展性。