通过sql server的连接服务器,手动从sql server向oracle插数据可以,但是在触发器中不行,报如下错:服务器: 消息 7391,级别 16,状态 1,行 3
该操作未能执行,因为 OLE DB 提供程序 'MSDAORA' 无法启动分布式事务。
OLE DB 错误跟踪[OLE/DB Provider 'MSDAORA' ITransactionJoin::JoinTransaction returned 0x8004d01b]
原因:
原来按照MSSQL的在线文档进行配置,在线文档中只列出的 Oracle8.1以下版本的解决方案,但是MSSQL服务器安装的是ORACLE9I的客户端,造成找不到相关文件。解决办法:
若要启用用于 Oracle 的 OLE DB 提供程序以与 Oracle 客户端软件一起使用,必须从命令
行运行注册表文件以修改客户端的注册表。不应同时运行客户端软件的多个实例。这些文件都列在下表
中并位于同一目录结构中,而该目录结构包含通常在 C:\Program Files\Common Files\System\OLE DB
中的 Microsoft 数据访问组件 (MDAC) 安装。
Oracle 客户端 Windows NT 或 9x Windows 2000 或以上
7.x mtxoci7x_winnt.reg mtxoci7x_win2k.reg
8.0 mtxoci80x_winnt.reg mtxoci80x_win2k.reg
8.1 mtxoci81x_winnt.reg mtxoci81x_win2k.reg
9i mtxoci9x_winnt.reg mtxoci9x_win2k.reg
如果 SQL SERVER 服务器安装的ORACLE客户端的版本对照以上表格,执行相应的.reg文件,执行之后需要重新启动 SQL SERVER 数据库请问哪位有mtxoci9x_win2k.reg这个文件,发给我一份,十分感谢!!!!!
该操作未能执行,因为 OLE DB 提供程序 'MSDAORA' 无法启动分布式事务。
OLE DB 错误跟踪[OLE/DB Provider 'MSDAORA' ITransactionJoin::JoinTransaction returned 0x8004d01b]
原因:
原来按照MSSQL的在线文档进行配置,在线文档中只列出的 Oracle8.1以下版本的解决方案,但是MSSQL服务器安装的是ORACLE9I的客户端,造成找不到相关文件。解决办法:
若要启用用于 Oracle 的 OLE DB 提供程序以与 Oracle 客户端软件一起使用,必须从命令
行运行注册表文件以修改客户端的注册表。不应同时运行客户端软件的多个实例。这些文件都列在下表
中并位于同一目录结构中,而该目录结构包含通常在 C:\Program Files\Common Files\System\OLE DB
中的 Microsoft 数据访问组件 (MDAC) 安装。
Oracle 客户端 Windows NT 或 9x Windows 2000 或以上
7.x mtxoci7x_winnt.reg mtxoci7x_win2k.reg
8.0 mtxoci80x_winnt.reg mtxoci80x_win2k.reg
8.1 mtxoci81x_winnt.reg mtxoci81x_win2k.reg
9i mtxoci9x_winnt.reg mtxoci9x_win2k.reg
如果 SQL SERVER 服务器安装的ORACLE客户端的版本对照以上表格,执行相应的.reg文件,执行之后需要重新启动 SQL SERVER 数据库请问哪位有mtxoci9x_win2k.reg这个文件,发给我一份,十分感谢!!!!!
解决方案 »
- oracle 10安装的问题
- 请问怎样返回存储过程里的结果集???
- ★★★各位大侠请进,帮俺分析一下(长事务问题),救急啊!
- 现在mysql数据库有数据向oracle中导入
- Oracle服务器莫名其妙地连不上了,从服务中看,服务还在正常运行,但是就是连不上,将服务重启后就好了,这是怎么回事?这种情况经常出现
- 怎样优化?
- 请教ado连接远程数据库,,,急急急急急急急
- 【delphi中利用ClientDataSet和ADOQuery分别如何调用oracle中的存储过程-JCC0128-400分奉上】
- 请问我的触发器什么错误?
- 超难SQL文
- Oracle 独立Ado驱动发布的问题
- 有关DBLINK的问题,是否是BUG?
OLE DB 错误跟踪[OLE/DB Provider 'MSDAORA' ITransactionJoin::JoinTransaction returned 0x8004d01b]
-------------------------------
触发器是在oracle数据库建立的还是在sql server建的?
如果是有sql server上建立触发器,说明数据库引擎不支持分布式事务
那你就要启动sql server的分布式事务:
企业管理器-->support services-->Distributed Transaction Coordinator-->启动如果已经在oracle上建立触器,那就不清楚是什么回事了?