Aginity for Netezza 使用 ODBC 从外部 xlsx 文件创建临时表
Posted
技术标签:
【中文标题】Aginity for Netezza 使用 ODBC 从外部 xlsx 文件创建临时表【英文标题】:Aginity for Netezza Create Temp Table from external xlsx file using ODBC 【发布时间】:2015-05-27 22:44:20 【问题描述】:在 Netezza 的 Aginity Workbench 中,我正在尝试从包含 13 列但只需要第 1 列和第 5 列的 .XLSX 文件创建一个临时表。我可以导出到制表符分隔的 .TXT,只需要两列并且它可以工作很好,但我想避免从原始文件转换,因为它会定期更新,其他人可能正在运行这个文件。 必须是 TEMP TABLE 并且必须是 XLSX。临时表将在后续查询中加入。
我有以下疑问:
CREATE TEMP TABLE office AS
(SELECT zip_code, DISPATCH_LEVEL
FROM EXTERNAL 'file.xlsx'
(zip_code VARCHAR(10), DISPATCH_LEVEL VARCHAR(100))
USING (REMOTESOURCE 'ODBC' DELIMITER '\t'));
我得到以下错误块:
错误 [HY008] 操作已取消 错误 [01000] 无法写入 nzlog/坏文件 错误 [01000] 无法写入 nzlog/坏文件 错误 [HY000] 错误:外部表:错误输入行数达到最大错误数限制
【问题讨论】:
我相信Unable to write nzlog/bad files
部分的意思是“发生了错误,错误详细信息的记录失败。”换句话说,这是错误处理程序中的错误。我得到这个是因为在 Windows 10 中,默认情况下该进程没有对 c:\ 的写权限
【参考方案1】:
Netezza 外部表根本不直接支持 XLSX 文件。它们需要字符分隔文件、固定长度文件或内部/本机格式文件。
【讨论】:
以上是关于Aginity for Netezza 使用 ODBC 从外部 xlsx 文件创建临时表的主要内容,如果未能解决你的问题,请参考以下文章
保存 Aginity for Netezza 后如何摆脱“外部修改文件”模式