Netezza“[08S01]通信链路故障”加载外部数据

时间:2015-02-17 21:10:54

标签: sql sql-insert netezza insert-into external-tables

我得到了:

错误[HY008]操作已取消 错误[08S01]通信链路故障

尝试将外部.txt文件上传到Netezza数据库时。我在过去(仅在上周)完成了这项工作,但今天收到此错误。能够连接到DB,运行truncate和create table语句来加载这些数据,可以选择等等......但是没有运气加载。这是大约200K记录,这是我的代码:

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 '\'
)

从我在该主题上找到的其他帖子尝试过解决方案:

ERROR [08S01] Communication link failure while inserting data in to external table in 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

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

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谢谢!

谢谢, 克雷格

2 个答案:

答案 0 :(得分: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 '\'
    )

答案 1 :(得分:1)

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

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

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

全部谢谢!