首页 | IT新闻 | 硬件 | 操作系统 | 开发 | 网络编程 | 数据库 | 热门框架 | 网络安全 | 组网 | 建站指南 | 网页制作 | 特效 | 实用技巧 | 服务器 | 办公 | QQ | 探索 | 社区

  • 技术部落
  • 部落首页 > 数 据 库 > SYBASE > 正文
  • Sybase ASE XA分布式事务支持
      2007-6-12  来源:CSDN  编辑:Jsbulo  热度:

           默认Sybase ASE安装是不支持XA的,必须从Sybase那里获取DTM License才可以。而且默认安装SYSAM服务也是不启动的,SYSAM服务是管理Sybase ASE内各种协议的服务。
     
           DTMDistributed Transaction Management的简称。网上有专门的介绍Sybase DTM服务的文章《Using Adaptive Server Distributed Transaction Management Features》,建议可以参考以下。
     
           以下目录中出现“D:\ASE125是因为我的ASE安装在D:\ASE125目录下。
     
           协议的修改是在 D:\ASE125\SYSAM-1_0\licenses\license.dat文件中修改,Sybase安装后,默认内容是如下的:
     
    INCREMENT ASE_SERVER SYBASE 12.0 permanent uncounted EC44123C6B70  HOSTID=ANY ck=50 SN=GA
      
    这个内容是不完善的,所以造成刚安装后,SYSAM服务启动不了。
     
    为了让SYSAM服务能够正常启动,你需要修改内容如下:

     
    /*在SERVER后紧跟的是机器名*/
    SERVER huchangcheng11 ANY 
    29722
    VENDOR SYBASE D:ASE125SYSAM
    -1_0inSYBASE.exe
    USE_SERVER

    INCREMENT ASE_SERVER SYBASE 
    12.0 permanent uncounted EC44123C6B70  HOSTID=huchangcheng11 ck=50 SN=GA


       为了能够增加DTM协议的支持,还必须增加如下内容(下面仅是样例,不具有可执行性,具体协议号需要Sybase服务提供):

    INCREMENT ASE_SERVER SYBASE 12.0 PERMANENT 1 EBB8DAACC019 SN=910589-1 OVERDRAFT=10000 ck=0

    INCREMENT ASE_DTM SYBASE 
    12.0 PERMANENT 1 1EC3D299C12B SN=897485-4 OVERDRAFT=10000 ck=0

       修改完协议后,重新启动数据库服务即可。在 D:\ASE125\ASE-12_5\install\ase125.log (具体log文件名称于所建的数据库名有关)日志文件中,查看信息,如果有如下信息,则表示DTM服务启动成功。
     
    00:00000:00000:2006/09/26 15:37:25.45 kernel Use license file d:\ASE125\SYSAM-1_0\licenses\license.dat.
    00:00000:00000:2006/09/26 15:37:25.45 kernel Feature ASE_SERVER is over drafted 1 times.
    00:00000:00000:2006/09/26 15:37:25.45 kernel Checked out license ASE_SERVER
    00:00000:00000:2006/09/26 15:37:25.48 kernel Adaptive Server Enterprise Edition
    00:00000:00000:2006/09/26 15:37:25.64 kernel Using config area from primary master device.
    00:00000:00000:2006/09/26 15:37:25.69 kernel Warning: Using default file ’d:\ASE125\ase125.cfg’ since a configuration file was not specified. Specify a configuration file name in the RUNSERVER file to avoid this message.
    00:00000:00000:2006/09/26 15:37:25.71 kernel Checked out license ASE_DTM
    00:00000:00000:2006/09/26 15:37:25.90 kernel Using 100000 file descriptors.
    00:00000:00000:2006/09/26 15:37:25.95 kernel Adaptive Server Enterprise/12.5.1/EBF 11428/P/NT (IX86)/OS 4.0/ase1251/1823/32-bit/OPT/Wed Sep 17 11:10:54 2003
    00:00000:00000:2006/09/26 15:37:25.95 kernel Confidential property of Sybase, Inc.
    00:00000:00000:2006/09/26 15:37:25.95 kernel Copyright 1987, 2003
    00:00000:00000:2006/09/26 15:37:25.95 kernel Sybase, Inc. All rights reserved.

    如果在启动日志中可以清楚地看到“Checked out license ASE_DTM”,则表示DTM服务启动正常。
     
    仅仅启动ASE_DTM服务的情况,依然不能获取XA事务支持的,必须给Login帐号设置dtm_tm_role角色才可以。这个不难,在Sybase Central中,选择ASE Server下的roles菜单,为dtm_tm_role角色设置Logins属性即可。
     
    至此,Sybase ASE XA支持就可以了。