在sqlserver2005中建立链接服务器,该链接服务器指向oracle
在sqlserver2005查询分析器中执行update openquery(ORCLDB,'select TMEV01 from CRPDTA.F55TM06') set TMEV01='O'后出现下面的错误
链接服务器"ORCLDB"的 OLE DB 访问接口 "MSDAORA" 返回了消息 "ORA-12899: 列 "CRPDTA"."F55TM06"."TMEV01" 的值太大 (实际值: 2, 最大值: 1)
"。
消息 7343,级别 16,状态 4,第 1 行
链接服务器 "ORCLDB" 的 OLE DB 访问接口 "MSDAORA" 无法 UPDATE 表 "[MSDAORA]"。
但执行查询select * from openquery(ORCLDB,'select * from CRPDTA.F55TM06 where TMEV01 = ''A''')正确
说明:
1.oracle服务器端和客户端使用字符集完全一样,均为SIMPLIFIED CHINESE_CHINA.ZHS16GBK
2.oracle的表CRPDTA.F55TM06中的字段TMEV01为nchar(1),对应的SQLServer2005中该字段类型也为nchar(1)问题:为什么执行查询正确,而执行update和insert时确出现上述错误?着急中,谢谢