将输入文件复制到空db表时出现以下错误。输入文件只有56732行,但是我在第56733行收到错误:
continue
* * * * * * * * * *
copy table temptable
(
abc = c(3),
bcao = c(1),
cba = c(10),
test = c(1)nl
)
from 'tempfile'
Executing . . .
E_CO0024 COPY: Unexpected END OF FILE while processing row 56733.
E_CO002A COPY: Copy has been aborted.
任何人都有任何想法为什么它试图处理额外的行?我有四个其他文件完全相同的格式与不同的数据,它处理正常。
不知道为什么会这样......
答案 0 :(得分:2)
最可能的原因是您在最后一行数据后有一些空格或类似内容。您已在测试时将新行设置为分隔符,因此该文件需要以新行结束。删除数据之后的任何内容,这不是一个空白的新行。
举个例子。使用以下代码:
DECLARE GLOBAL TEMPORARY TABLE test (
v int
) ON COMMIT PRESERVE ROWS WITH NORECOVERY;
COPY test (
v = c(5)nl
) FROM 'J:\test.csv';
对于以下数据,将在第4行导致错误:
34565
37457
35764
45685
第5行的和错误(用于显示问题的标点符号,但它可能是您自己文件中的空格或制表符):
34565
37457
35764
45685
.