Arv*_*ind 24 sql-server bulkinsert sql-server-2008
我试图运行以下命令批量插入CSV文件中的数据 -
BULK INSERT TestDB.dbo.patent
FROM 'C:\1patents.csv'
WITH (FIRSTROW = 1, FIELDTERMINATOR = '^', ROWTERMINATOR='\n');
Run Code Online (Sandbox Code Playgroud)
我得到的错误是 -
Msg 4866,Level 16,State 1,Line 1
批量加载失败.第1行第6列的数据文件中的列太长.
验证是否正确指定了字段终止符和行终止符.
消息7399,级别16,状态1,行1
链接服务器"(null)"的OLE DB提供程序"BULK"报告错误.提供商未提供有关错误的任何信息.
消息7330,级别16,状态2,行1
无法从OLE DB提供程序"BULK"获取链接服务器"(null)"的行.
现在这是第一行的数据 -
00000001^^18360713^295^4^0
Run Code Online (Sandbox Code Playgroud)
在表中,最后一个字段(对应于上面第6列数据= 0)的类型为'int'.
我在这做错了什么?为什么我会收到上述错误?
com*_*iro 18
像上面回答的那样,我在将csv文件导入SQL Server时遇到了同样的问题.我正在使用ROWTERMINATOR = '\n',我也尝试使用'\r\n'和'\r'.他们都没有工作.
但是当使用ROWTERMINATOR = '0x0a'表加载没有问题.
我不知道"为什么?" 在这背后,希望其他人能够揭开它.
除非文件源是 Unix,否则文件的行终止符很可能是
\r\n
使用十六进制编辑器验证文件的终止符,或者只是尝试将其作为行终止符。
| 归档时间: |
|
| 查看次数: |
35104 次 |
| 最近记录: |