关于sql server 2008的bulk insert问题

RT:请问这个报错在2008下有办法处理么?usetempdbgocreatetableT_Table(Markint,Memovarchar(20))--源表goins... RT:请问这个报错在2008下有办法处理么?
use tempdb
go
create table T_Table(Mark int,Memo varchar(20))--源表
go
insert into T_Table select 1,'AA' union all
select 2,'BB' union all
select 3,'CC'
go
select * from T_Table
go
exec master..xp_cmdshell 'bcp tempdb.dbo.T_Table format null -f C:\T_Table.fmt -c -t ★ -r ◆\n -S . -U sa -P ""'--导出格式文件
go
exec master..xp_cmdshell 'bcp tempdb..T_Table out C:\T_Table.txt -c -t ★ -r ◆\n -S . -U sa -P ""'--导出表内容
go
select * into T_Tablebak from T_Table where 1=2--生成目标表
go
--在sql2000下测试通过
bulk insert T_Tablebak from 'C:\T_Table.txt' with (formatfile='C:\T_Table.fmt')--插入目标表
--在sql2008下测试报错
/*
消息 4827,级别 16,状态 1,第 1 行
无法进行大容量加载。格式化文件 "C:\T_Table.fmt" 中列号 2 的列终止符无效。
*/
go
select * from T_Tablebak
展开
 我来答
jsczwangx
2013-11-29
知道答主
回答量:0
采纳率:0%
帮助的人:0
展开全部
应该没有问题的,确定2008中表环境都配好了么,文件路径没有问题么
追问
需要配置什么呢?我在2000和2008上测试这段脚本,2008报错了
追答
在 SQL Server 2005 和更高版本中,BULK INSERT 强制执行新的数据验证和数据检查,如果对某个数据文件中的无效数据执行这样的验证和检查,则可能导致现有脚本失败。低版本中执行bulk insert是不进行数据检验的,所以高版本要苛刻些,也是为了数据的完整性考虑。所以你要检查一下约束什么的,或者禁用了约束再导入试试看。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
?>

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式