转载:http://www.blogjava.net/zyw090111/archive/2010/10/15/335236.html
在安装好Sql Server2005后默认是不支持JTA分布式事务的,要进行一下额外的设置才可以支持JTA事务。
那么如何让Sql Server2005具有JTA事务那,那大家就跟我一步一步做吧!
第一步:
下载Sql Server2005的JDBC驱动。下载完成后得到的是一个exe文件:“sqljdbc_1.0.809.102_chs.exe”。
双击打开:
点击Browse... 选择要解压的目录。解压后得到:
其中:sqljdbc.jar是Java连接Sql Server2005的驱动程序。
打开xa目录:
可以看到x64目录和x86目录和xa_install.sql文件
我们这里选择x86也就是32位的机器。打开可以看到sqljdbc_xa.dll文件
复制该文件到Sql Server2005的安装目录中的Binn文件夹下面。(Sql Server2005的安装目录下面有很多Binn,我也不知道那个复制那个不复制,所以我就都复制了。
有知道的朋友可以回复告诉大家和我!)
第二步:
打开操作系统win7和XP:
win7下面是:控制面板--> 系统和安全-->管理工具-->组件服务-->计算机-->Distributed Transaction Coordinator-->右键,【本地DTC】,【属性】选择【安全】勾选
启用XA事务,点击确认。服务会重启。
XP:控制面板-->管理工具-->组件服务-->计算机-->我的电脑-->右键,【属性】如图:
勾选【启用XA事务】点击确定完成。
第三步:
复制xa_install.sql到Sql Server2005的查询分析器中执行会创建一个角色:sqlJDBCXAUser
因为Sql Server2005默认的超级管理员sa无法绑定sqlJDBCXAUser,所以我们重新创建一个超级管理员名称dba
然后把sqlJDBCXAUser授权给他就可以了:
1. 创建用户和授权:
a). 创建用户:
b). 登录名的基本配置:
点击确认用户创建成功!重启数据库服务。
使用刚创建的用户登录。使用JTA分布式事务时也使用该用户登录,就OK了!