下面语句从Sql server数据库表查数据往mysql数据库中插入数据报错,(链接服务器mysqlytest没有问题,通过ODBC建立)
insert into openquery(mysqlytest,'select Id,Sid,Title,Des from t_inforesult')
select Id,Sid,Title,Des from t_inforesult --Sql server数据库表
Des 字段在Sql server是VARCHAR类型,长度是255
Des 字段在mysql也是VARCHAR类型,长度是500
下面是错误信息
链接服务器"mysqlytest"的 OLE DB 访问接口 "msdasql" 返回了消息 "多步 OLE DB 操作产生错误。如果可能,请检查每个 OLE DB 状态值。没有工作被完成。"。
消息 7344,级别 16,状态 1,第 1 行
由于列 "Des",链接服务器 "mysqlytest" 的 OLE DB 访问接口 "msdasql" 无法 INSERT INTO 表 "[msdasql]"。由于除符号不匹配和溢出之外的其他原因,未能转换数据值。
Location: qxcntxt.cpp:1052
Expression: cref == 0
SPID: 63
Process ID: 276
------解决方案--------------------
Des 字段在mysql长度改为765
------解决方案--------------------
类型不配吧?