我得到了:
错误[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烟囱设置是罪魁祸首。
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谢谢!
谢谢, 克雷格
答案 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 +左右开始出现问题。
这也是我的笔记本电脑,所以如果你在数据中心内的盒子上可能要高得多。我会建议驱动程序升级,然后在必要时拆分为较小的文件。
全部谢谢!