WebSphere中配置MS SQL SERVER XA数据源

 
1、JDBC提供者
WAS内置了MS SQL SERVER的驱动,所以JDBC的提供者你可以选择WAS内置的JDBC驱动.
配置参数如下:
提供者名称:
MS SQL SERVER(XA) (可以自己随便取)
类别路径:
${WAS_LIBS_DIR}/sqlserver.jar
${WAS_LIBS_DIR}/base.jar
${WAS_LIBS_DIR}/util.jar
${WAS_LIBS_DIR}/spy.jar
实现类别名称:
com.ibm.websphere.jdbcx.sqlserver.SQLServerDataSource


2、数据源的配置方法与其它DB的数据源配置方法无异。
可参考:http://www.blogjava.net/fastzch/archive/2006/12/03/85176.html

3、关键部分,配置你的SQL SERVER DB,使其支持XA方式。
(1)到下面这个地址下载SQL SERVER支持XA的驱动:
      http://www.cnblogs.com/chinafine/admin/ftp://ftp.software.ibm.com/software/websphere/info/tools/DataDirect/datadirect.htm
      也可以到MS的官方网站下载对应的驱动。
(2)下载后会有一个RAR包,将其解压,根据你的OS是32位还是64位来决定你要选用哪个sqljdbc.dll
      将此文件放入SQL SERVER安装目录的BINN目录下。
(3)重启SQL SERVER DB。
(4)在Master数据库上运行RAR包中的instjdbc.sql这个SQL
         
 
  /*
 **    INSTJDBC.SQL
 **    Installs XA stored procedures used by the JDBC driver
 */
 
 
 go
 use master
 go
 dump tran master with no_log
 go
 
 
  /*
 ** drop procedures if they're already in the database
 */
 
 sp_dropextendedproc 'xp_jdbc_open'
 go
 sp_dropextendedproc 'xp_jdbc_open2'
 go
 sp_dropextendedproc 'xp_jdbc_close'
 go
 sp_dropextendedproc 'xp_jdbc_close2'
 go
 sp_dropextendedproc 'xp_jdbc_start'
 go
 sp_dropextendedproc 'xp_jdbc_start2'
 go
 sp_dropextendedproc 'xp_jdbc_end'
 go
 sp_dropextendedproc 'xp_jdbc_end2'
 go
 sp_dropextendedproc 'xp_jdbc_prepare'
 go
 sp_dropextendedproc 'xp_jdbc_prepare2'
 go
 sp_dropextendedproc 'xp_jdbc_commit'
 go
 sp_dropextendedproc 'xp_jdbc_commit2'
 go
 sp_dropextendedproc 'xp_jdbc_rollback'
 go
 sp_dropextendedproc 'xp_jdbc_rollback2'
 go
 sp_dropextendedproc 'xp_jdbc_forget'
 go
 sp_dropextendedproc 'xp_jdbc_forget2'
 go
 sp_dropextendedproc 'xp_jdbc_recover'
 go
 sp_dropextendedproc 'xp_jdbc_recover2'
 go
 dump tran master with no_log
 go
 
 
 
  /*
 **  add references for the stored procedures
 */
 
 print 'creating JDBC XA procedures'
 go
 
 sp_addextendedproc 'xp_jdbc_open', 'sqljdbc.dll'
 go
 sp_addextendedproc 'xp_jdbc_open2', 'sqljdbc.dll'
 go
 sp_addextendedproc 'xp_jdbc_close', 'sqljdbc.dll'
 go
 sp_addextendedproc 'xp_jdbc_close2', 'sqljdbc.dll'
 go
 sp_addextendedproc 'xp_jdbc_start', 'sqljdbc.dll'
 go
 sp_addextendedproc 'xp_jdbc_start2', 'sqljdbc.dll'
 go
 sp_addextendedproc 'xp_jdbc_end', 'sqljdbc.dll'
 go
 sp_addextendedproc 'xp_jdbc_end2', 'sqljdbc.dll'
 go
 sp_addextendedproc 'xp_jdbc_prepare', 'sqljdbc.dll'
 go
 sp_addextendedproc 'xp_jdbc_prepare2', 'sqljdbc.dll'
 go
 sp_addextendedproc 'xp_jdbc_commit', 'sqljdbc.dll'
 go
 sp_addextendedproc 'xp_jdbc_commit2', 'sqljdbc.dll'
 go
 sp_addextendedproc 'xp_jdbc_rollback', 'sqljdbc.dll'
 go
 sp_addextendedproc 'xp_jdbc_rollback2', 'sqljdbc.dll'
 go
 sp_addextendedproc 'xp_jdbc_forget', 'sqljdbc.dll'
 go
 sp_addextendedproc 'xp_jdbc_forget2', 'sqljdbc.dll'
 go
 sp_addextendedproc 'xp_jdbc_recover', 'sqljdbc.dll'
 go
 sp_addextendedproc 'xp_jdbc_recover2', 'sqljdbc.dll'
 go
 
 
  /*
 **  grant privileges so that all users can enlist in XA transactions
 */
 grant execute on xp_jdbc_open to public
 go
 grant execute on xp_jdbc_open2 to public
 go
 grant execute on xp_jdbc_close to public
 go
 grant execute on xp_jdbc_close2 to public
 go
 grant execute on xp_jdbc_start to public
 go
 grant execute on xp_jdbc_start2 to public
 go
 grant execute on xp_jdbc_end to public
 go
 grant execute on xp_jdbc_end2 to public
 go
 grant execute on xp_jdbc_prepare to public
 go
 grant execute on xp_jdbc_prepare2 to public
 go
 grant execute on xp_jdbc_commit to public
 go
 grant execute on xp_jdbc_commit2 to public
 go
 grant execute on xp_jdbc_rollback to public
 go
 grant execute on xp_jdbc_rollback2 to public
 go
 grant execute on xp_jdbc_forget to public
 go
 grant execute on xp_jdbc_forget2 to public
 go
 grant execute on xp_jdbc_recover to public
 go
 grant execute on xp_jdbc_recover2 to public
 go
 
 print ''
 print 'instxa.sql completed successfully.'
 go
 
 dump tran master with no_log
 go
 checkpoint
 go
  /**/
 


4、在控制面板的服务中,启动“Distributed Transaction Coordinator”服务。
      此服务的作用如下:协调跨越多个资源管理员的交易,比如数据库、消息队列及文件系统。如果此服务被停止,这些交易将不会发生。如果服务被停用,任何明显依存它的服务将无法启动。

5、测试数据源:
完成!

posted @ 2010-07-23 18:10  chinaifne  阅读(2432)  评论(0编辑  收藏  举报