我们在11.1.0.7数据库上使用Oracle的ORDCOM基础设施与COM对象交互。COM对象不对数据库执行任何操作。这一过程几年来一直运作良好。
今天,我创建了一个Oracle,并为sys添加了凭据,以便我拥有的脚本可以使用"/@coredev as sysdba“登录,而不是以明文存储用户名和密码。
问题是,一旦我将行"SQLNET.WALLET_OVERRIDE = TRUE“添加到sqlnet.ora文件中,ORDCOM OACreate调用就会引发ORA-28578:外部过程回调期间的协议错误。我有一个数据库外的程序,它可以测试COM对象,并且继续正确工作。只要我在sqlnet.ora中注释掉这一行,它就能正常工作,但我当然不能再使用钱包了。
发布于 2010-03-09 19:08:02
Oracle用一个内部测试用例再现了这个问题,并为它创建了一个bug。解决方法是使用一个单独的sqlnet.ora/tnsnames.ora作为钱包,将TNS_ADMIN环境变量设置为备用文件的路径。
https://serverfault.com/questions/116373
复制相似问题