一、问题
使用T-SQL导入数据时报错:
use wwww
go
insert INTO OPENDATASOURCE(
'SQLOLEDB',
'Data Source=WINNIE\IIDC;User ID=sa;Password=password'
).wwww.dbo.pro_unit_sort_name
select * from wwww_gs.dbo.gs_unit_sort_name;
消息 8152,级别 16,状态 14,第 1 行
将截断字符串或二进制数据。
语句已终止。
 
二、原因
目标表字段定义超长。
表定义为:
use wwww
go
CREATE TABLE pro_unit_sort_name(
CulID     varchar(50),
Coll_Unit varchar(400),
Cul_Sort varchar(400),
Province varchar(50),
Cul_Name varchar(400)
)
 
三、解决方法
1、删除原来的目标表
use wwww
go
drop table pro_unit_sort_name;
 
2、创建新表
use gcww
go
CREATE TABLE pro_unit_sort_name(
CulID     varchar(100),
Coll_Unit varchar(100),
Cul_Sort varchar(100),
Province varchar(100),
Cul_Name varchar(100)
)
 
3、执行导入
use gcww
go
insert INTO OPENDATASOURCE(
'SQLOLEDB',
'Data Source=WINNIE\IIDC;User ID=sa;Password=password'
).wwww.dbo.pro_unit_sort_name
select * from wwww_gs.dbo.gs_unit_sort_name;
 
(6740 行受影响)