日期:2014-05-17  浏览次数:20554 次

SqlServer2005导入数据 将截断字符串或二进制数据的解决方法
SqlServer2005用T-SQL导入数据时出现 错误将截断字符串或二进制数据。很是纳闷,因为所有的要导入的字段都用 select max(len(username)) from [user]; 查询过没有超出表定义的字段长度。

sql语句:  

insert into A (UserName,[Password],Email) select username,[PassWord],Email from B 

B 表结构:


 
A表结构:



对比 a,b表结构,发现a表email字段定义的长度比b表大,应该不是这个字段的原因,而password字段定义的比b表小,很有可能是这个字段的原因。
修改下sql语句:
insert into A (UserName,[Password],Email) select username,convert(varchar(16),[PassWord]),Email from B 
执行,导入成功!,还是跟表的定义有关啊~~~~


------解决方案--------------------
把字段的长度调大一些!
------解决方案--------------------
那你把password字段长度定义长点

SQL code
alter A alter colunm [Password] [nchar](100)