配置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组里面。