通过Teradata SQL助手将大型CSV插入空表时出错

时间:2014-12-03 05:18:00

标签: teradata

我有一个6 gig csv,我正在尝试将其加载到Teradata中。

所以我启动Teradata SQL助手,创建一个空表,然后打开导入数据模式并尝试使用

将记录插入空表
insert into some_lib.some_table
(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?);

但是我总是会在600k行标记周围收到失败消息

  

在记录614770读取导入文件时出错:类型异常   '的System.OutOfMemoryException'被扔了。

我认为这是因为Teradata SQL助手在尝试将数据发送到Teradata服务器之前尝试将所有内容加载到4G笔记本电脑的内存中。我的理论是否正确?如何告诉Teradata以块的形式上传数据而不是尝试将所有内容存储在本地内存中?

1 个答案:

答案 0 :(得分:1)

我相信您正在推动SQL Assistant的功能作为加载数据的方法。

您是否考虑过在系统上安装了Teradata Load Utilities,例如FastLoad或MultiLoad?

如果您不想为加载实用程序编写脚本,另一个选项是安装Teradata Studio Express,它应提供使用JDBC FastLoad加载数据的机制。这将是Studio Express的Smart Loader机制。您可能会发现这比使用.Net或ODBC的SQL Assistant更具可扩展性。