5

我得到:

ERROR [HY008] 操作取消 ERROR [08S01] 通讯链路故障

尝试将外部 .txt 文件上传到 Netezza 数据库时。我过去(就在上周)做过这个,但今天收到这个错误。我能够连接到数据库,运行截断并创建用于加载此数据的表语句,可以选择等......但没有运气加载。大约有 20 万条记录,这是我的代码:

INSERT INTO PTG_ITO_ETL.FINANCE_TY15_RT_TPG
SELECT * FROM EXTERNAL 'C:\\Users\\Documents\\Data Sources\\Finance_FY15_RT\\SBTPG\\TPG_INTUIT_RT_PRODIV_20150214.TXT'
USING
(
    MAXERRORS 1
    DATESTYLE 'MDY'
    DATEDELIM '/'
    BOOLSTYLE 'Y_N'
    Y2BASE 2000
    ENCODING 'internal'
    SKIPROWS 1
    REMOTESOURCE 'ODBC'
    ESCAPECHAR '\'
)

尝试了我只能找到关于该主题的其他帖子的解决方案:

错误 [08S01] 将数据插入到 netezza 中的外部表时出现通信链接故障

“我发现 Windows 7 和 Windows Server 2008 R2 TCP 烟囱设置是罪魁祸首。

http://blogs.dirteam.com/blogs/sanderberkouwer/archive/2008/05/15/backward-compatible-networking-with-server-core.aspx

以下命令为我解决了这个问题:

netsh interface tcp set global rss=disabled
netsh interface tcp set global chimney=disabled
netsh interface tcp set global autotuning=disabled"

但是,无济于事。不知道是什么导致了这个问题?我在 Windows 7 上使用 Aginity,Netezza 版本 7.0.4 谢谢!

谢谢,克雷格

4

2 回答 2

2

请尝试以下方法,看看是否有错误

    SELECT * FROM EXTERNAL 'C:\\Users\\Documents\\Data Sources\\Finance_FY15_RT\\SBTPG\\TPG_INTUIT_RT_PRODIV_20150214.TXT'
(field1 varchar(20000))
    USING
    (
        MAXERRORS 1
        Delim 199
        DATESTYLE 'MDY'
        DATEDELIM '/'
        BOOLSTYLE 'Y_N'
        Y2BASE 2000
        ENCODING 'internal'
        SKIPROWS 1
        REMOTESOURCE 'ODBC'
        ESCAPECHAR '\'
    )
于 2015-02-18T22:17:33.433 回答
1

感谢@ScottMcG 的帮助,在下载了最新的 Netezza 驱动程序(7.0.4.7)后,我能够完成这项工作。仍然有几次错误(同样的错误),但也进行了许多广泛的测试。

我读了另一篇类似的帖子,记录越大,这个错误似乎越常见。我读到一个人正在使用具有一百万多条记录的外部表并且每次都出错。如果需要,我(您)可能需要将数据拆分为较小的外部表以加载到一个表/数据库。似乎开始有大约 200k + 的问题。

这也是来自我的笔记本电脑,所以如果你在数据中心内的盒子上,可能会更高。我建议升级驱动程序,然后在必要时拆分为更小的文件。

谢谢大家!

于 2015-02-18T21:44:40.720 回答