2016-12-13 52 views
0

將輸入文件複製到空的數據庫表時出現以下錯誤。輸入文件只有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. 

任何人有爲什麼它試圖處理一個額外的行什麼想法?我有四個其他文件具有完全相同的格式與不同的數據,它處理得很好。

不知道爲什麼會這樣......

回答

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 
.