系统在使用过程中偶尔前端可能提示:未将对象引用设置到对象的实例或者无效的(分布式)事务
这种情况下,如果堆栈有Oracle相关字眼,那么检查下面内容:
是否安装了Oracle的客户端,如果安装了采用下面方式处理
卸载Oracle客户端;
在星空产品安装目录下\Kingdee\K3Cloud\odp_Net执行install.bat注册正确版本。注意在执行的时候,将Windows服务中的K3Cloud开头的服务全部停止,并且执行IISRESET操作,来保证组件没有被进程引用。
检查Windows服务中OracleMTSRecoveryService服务【启动类型】是否为【禁用】,如果为禁用,并且将启动类型设置为【自动】后保存就会出错,那么需要检查\Kingdee\K3Cloud\odp_Net下oraociei11.dll文件是否存在,如果不存在,那么需要从安装盘的KDSetup\odp.net\odp.net_x64\instantclient_11_2目录中找到这个文件,并且拷贝过去,然后看是否可以设置成功,如果不能,继续步骤3。
在Windows控制面板下的【程序和功能】中,检查是否安装Microsoft Visual C++ 2005 Redistributable (X64)以及Microsoft Visual C++ 2010 X64 Redistributable ,如果没有需要到微软官网下载。
千万记住一件事情,应用服务器不要安装Oracle客户端。星空产品会自动处理驱动相关组件问题。
如果基于想查询数据库要安装Oracle的前端使用工具,那么请不要在应用服务器上安装。
推荐阅读