配置Oracle,使它支持MTS下分布事务
1.根据Q193893,我们需要在Oracle里面建立两个视图。
Information about using Oracle with Microsoft Transaction Server and COM+ components
http://support.microsoft.com/?id=193893
根据我们以往的经验,我们可以尝试用SYS账号运行Oracle自带的脚本。脚本的默认路径在:
C:\oracle\ora92\rdbms\admin\xaview.sql
请在SQL Plus中运行脚本。
2.以上命令会建立两个视图。我们还需要手动给这两个新建立的视图添加Public权限:
SQL>grant select on v$xatrans$ to public with grant option;
SQL>grant select on v$pending_xatrans$ to public with grant option;
SQL>grant select any table to public;
以上的操作是在Oracle数据库所在的电脑上进行。下面的操作是在部署COM+ 组件的电脑上进行:
1. 根据Q193893, 我们需要修改注册表:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC\MTxOCI
"OracleXaLib"="oraclient9.dll"
"OracleSqlLib"="orasql9.dll"
"OracleOciLib"="oci.dll"
如果是Windows 2003或者Windows XP2,我们还需要建立:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC\XADLL
然后添加名字为:
mtxoci.dll的字符串键,内容为:
C:\WINDOWS\SYSTEM32\MTXOCI.DLL
2. 如果您是在Windows 2003或者Windows XP上,我们需要给MSDTC账号设定对应的权限。MSDTC运行在Network Service账号下。请您把Network Service账号添加到Administrators组里面。