運行下面的代碼時,管理工作室會顯示設置它的錯誤。批量插入不插入數據
我需要通過BULK INSERT插入簡單的文本數據到表中。用於插入的代碼如下:
BULK INSERT Pais FROM 'C:\[bulkdata]\shared\01-Pais.txt'
WITH(MAXERRORS = 0, CODEPAGE = 'ACP', FIELDTERMINATOR = 'ø', ROWTERMINATOR = '\n', KEEPNULLS,
ERRORFILE = 'C:\[bulkdata]\shared\teste.txt')
文件我使用中測試該命令僅具有一個用於插入數據線, teste.txt:
BrasilØ01058
返回的錯誤如下:
Msg 4832, Level 16, State 1, Line 1
Bulk load: An unexpected end of file was encountered in the data file.
Msg 7399, Level 16, State 1, Line 1
The OLE DB provider "BULK" for linked server "(null)" reported an error. The provider did not give any information about the error.
Msg 7330, Level 16, State 2, Line 1
Cannot fetch a row from OLE DB provider "BULK" for linked server "(null)".
teste.txt:
BrasilØ01058BrasilØ01058
在我看來,這是試圖在同一行插入兩次值,但正如設置顯示,它通常插入到其他項目。我的用戶可以未經許可嗎?我已經創建了具有所有權限的特定用戶,並且還設置了服務器執行批量操作的權限。
teste.txt.Error.Txt:
Row 1 File Offset 0 ErrorFile Offset 0 - HRESULT 0x80004005
我要做的第一件事就是檢查文件的格式是否像記事本++中顯示隱藏字符一樣的真實文件..聽起來像它它尋找換行或回車或無論是在最後還是沒有得到。 – HLGEM
我只是做了一個簡單的測試,似乎你正在使用javascript ....'var t1 ='ø'; var t2 ='Ø'; console.log(t1 === t2);'和結果是'false' – Hackerman
我的意思是你的文件中的字段終止符和你的批量聲明中指定的字段終止符不一樣 – Hackerman