SQL sever 2008 bulk insert 问题
现在有一个700M的文件,要把该文件批量导入到数据库中。使用的是bulkinsert,usepydb;bulkinsertrmtestfrom'C:\mr_detail_...
现在有一个700M的文件,要把该文件批量导入到数据库中。使用的是 bulk insert,
use pydb;
bulk insert rmtest from 'C:\mr_detail_20120301_203000.log' with(
--bulk insert rmtest from 'C:\test_formatbefore.txt' with(
codepage = 'ANSI',
FIELDTERMINATOR ='\t',
ROWTERMINATOR ='\n',
DATAFILETYPE='char',
KEEPNULLS,
FIRSTROW = 2);
结果报错
The bulk load failed. The column is too long in the data file for row 1, column 61. Verify that the field terminator and row terminator are specified correctly.
Msg 7301, Level 16, State 2, Line 2
我这边是xp sp2系统,sql server 2008 展开
use pydb;
bulk insert rmtest from 'C:\mr_detail_20120301_203000.log' with(
--bulk insert rmtest from 'C:\test_formatbefore.txt' with(
codepage = 'ANSI',
FIELDTERMINATOR ='\t',
ROWTERMINATOR ='\n',
DATAFILETYPE='char',
KEEPNULLS,
FIRSTROW = 2);
结果报错
The bulk load failed. The column is too long in the data file for row 1, column 61. Verify that the field terminator and row terminator are specified correctly.
Msg 7301, Level 16, State 2, Line 2
我这边是xp sp2系统,sql server 2008 展开
展开全部
提示很明显了
Verify that the field terminator and row terminator are specified correctly.
你文件中字段分隔符可能不是tab或者数据有误,拆分数据的时候找不到合适的行和字段。
或者找不到回车('\n')的行结束符。检查一下你的文件,使用正确的分隔符标识
Verify that the field terminator and row terminator are specified correctly.
你文件中字段分隔符可能不是tab或者数据有误,拆分数据的时候找不到合适的行和字段。
或者找不到回车('\n')的行结束符。检查一下你的文件,使用正确的分隔符标识
追问
分隔符是正确的,每行的最后是一个\t然后加一个换行\n,文件是unix系统的文本文件,我现在是在Windows平台下。如果我把文件转换成dos格式的话就可以正常导入。但是,实际应用中不能转换成dos文件。这样的话会是什么问题呢
追答
DATAFILETYPE='widechar',
这样试试行不?
应该还是编码问题,就看参数怎么调整一下,考虑一下CODEPAGE和DATAFILETYPE的不同值看看
展开全部
错误信息提示你看一下第一行第61列的数据是不是过长了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
The column is too long in the data file for row 1, column 61
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询