数据库名称:MSSQL / ORACLE
数据库版本:2008 R2 / R11i
内容/问题描述:
以前没有在MSSQL DBLINK ORACLE 过
参考前辈的写法
出现错误讯息
在MSSQL中, Call oracle package
begin
EXEC(
' BEGIN
WIPR0004100_PKG.Submit_Request(?, ?);
END; '
, @x_request_id OUTPUT,@WIP) at oracle_apps
end;
第一次执行OK
第二次执行会出现ERROR
连结服务器 "oracle_apps" 的 OLE DB 提供者 "OraOLEDB.Oracle" 传回讯息
"ORA-20001: Oracle 错误 -20001: fnd_global.set_nls 中侦测到 ORA-20001: Oracle
错误 -2074: fnd_global.set_nls.set_parameter('NLS_LANGUAGE','TRADITIONAL
CHINESE') 中侦测到 ORA-02074: 在分布式交易中无法 SET NLS
已确认在ORACLE package WIPR0004100_PKG.Submit_Request
没有用到"fnd_global.set_nls"
如果第一次与第二次执行的时间拉长一点 (大约10秒)
则第二次就不会出现这个问题了
实在不想 + waitfor delay'00:00:05';
希望板上高手能提点提点!谢谢!!