簡體   English   中英

批量插入表中的多個管道數據

[英]Bulk Insert Multiple Pipe Data in Table

我寫了一個查詢,將.lst文件中的數據插入表名AxisATM但是當我嘗試插入它時給出了我的錯誤

什么時候我從LST文件中刪除所有行,除了First ..它給了我成功消息說1行改變了..

Msg 4866, Level 16, State 1, Line 1
The bulk load failed. The column is too long in the data file for row 1, column 36. Verify that the field terminator and row terminator are specified correctly.
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)".

查詢: -

    BULK
INSERT dbo.ATMAxis
FROM 'c:\AGS_WINCORE_120901.lst'
WITH
(
FIELDTERMINATOR = '|',
ROWTERMINATOR = 'CHAR(13)'
)
GO

AGS_WINCORE_120901.lst: -

PRO1|......|00000000000|0| {Like it has 36 '|' separators}

使用Notepad ++我知道行結束字符是CR LF

正如所料,問題在於

ROWTERMINATOR = 'CHAR(13)'

我把它改成了

ROWTERMINATOR = '0x0A'

正如錯誤所示,第36列的表格多於表格列第36列。 您需要增加該列的大小

似乎行終止符會產生問題。 如果是這種情況,嘗試用Char(10)替換/r/n它將解決問題。 另外,檢查char(13)

此MSDN線程有更多信息。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM