javax.transaction.xa.XAException: java.sql.SQLException: 无法创建 XA 控制连接。(SQL 2000,SQL2005,SQL2008)

时间:2022-09-04 00:19:19

javax.transaction.xa.XAException: java.sql.SQLException:无法创建 XA 控制连接。错误: 未能找到存储过程'master..xp_sqljdbc_xa_init'。

配置JTA  SQL Server XADataSource参考:http://technet.microsoft.com/zh-cn/library/aa342335.aspx

1.sqljdbc_3.0\chs\auth\x86(x64|IA64)\sqljdbc_auth.dll放入WINDOWS\system32中

2.sqljdbc_3.0\chs\xa\x86(x64|IA64)\sqljdbc_xa.dll放入Microsoft SQLServer\MSSQL\Binn\sqljdbc_xa.dll

3.执行xa_install.sql

4.为SQL Server登录用户赋予权限。可参与:http://www.blogjava.net/zyw090111/

如果要同时使用 XA 数据源和 Microsoft 分布式事务处理协调器 (MS DTC)来处理分布式事务,则需要执行以下步骤
(1)在 Windows XP 和 Windows Server 2003 上:

1.在“控制面板”中,打开“管理工具”,然后打开“组件服务”。也可以单击“开始”按钮,单击“运行”,在“打开”框中键入dcomcnfg,然后按“确定”打开“组件服务”。

2.展开“组件服务”、“计算机”,右键单击“我的电脑”,然后选择“属性”。

3.单击“MSDTC”选项卡,再单击“安全性配置”。

4.选中“启用 XA 事务”复选框,然后单击“确定”。这将使 MS DTC 服务重新启动。

5.再次单击“确定”以关闭“属性”对话框,然后关闭“组件服务”。

6.停止 SQL Server,然后重新启动,以确保它与 MS DTC 更改同步。

(2)在Win8或Server 2008上:

1.在“控制面板”中,打开“管理工具”,然后打开“组件服务”。也可以单击“开始”按钮,单击“运行”,在“打开”框中键入dcomcnfg,然后按“确定”打开“组件服务”。

2.展开“组件服务”\“计算机”\"Distribute Transaction Coordinator",右键单击“本地DTC”,然后选择“属性”。

3.单击“安全”选项卡,再单击“启用XA事务”。

4.然后单击“确定”。这将使 MS DTC 服务重新启动。

5.再次单击“确定”以关闭“属性”对话框,然后关闭“组件服务”。

6.停止 SQL Server,然后重新启动,以确保它与 MS DTC 更改同步。

注:在这些配置完成以后如果还出现:

错误:atomikos:error in recovery。

1.驱动程序有问题。即sqljdbc4.jar。我之前遇到这种问题后就重新在Miscrosoft官网上下载了“sqljdbc_3.0.1301.101_chs.exe";解压后,所有的配置都用该解压包中的文件。包括(sqljdbc_xa.dll)

2.SQL Server 2000用的是x86(即32)位的文件来配置。因为通过查询分析器输入"select @@version"来查看SQL的版本后就会发现,即使操作系统是Server 2003 X64位,但SQL Server 2000仍然是32位的。

在WIn8上面输入“select @@version”后得到版本号“Microsoft SQL Server 2008 R2 (RTM) - 10.50.1600.1 (X64)   Apr  2 2010 15:48:46   Copyright (c) Microsoft Corporation  Developer Edition (64-bit) on Windows NT 6.2 <X64> (Build 9200: ) ”,由此可看出SQL Server是X64的。

3.SQL Server 2000在配置JTA XADataSource时,如果用sqljdbc.jar包,里面是没有com.microsoft.sqlserver.jdbc.SQLServerXADataSource该类的。因此SQL Server 2000也用sqljdbc4.jar该包来配置。

通过这些后应该没有什么问题了。困扰了我1周的问题啊,如果所有都配置好后还出问题,肯定就是jdbc驱动程序有问题,这得感谢一网络朋友的提醒!!!在此感谢。

javax.transaction.xa.XAException: java.sql.SQLException: 无法创建 XA 控制连接。(SQL 2000,SQL2005,SQL2008)的更多相关文章

  1. javax&period;transaction&period;xa&period;XAException&colon; java&period;sql&period;SQLException&colon; 无法创建 XA 控制连接。错误&colon; 未能找到存储过程 &&num;39&semi;master&period;&period;xp&lowbar;sqljdbc&lowbar;xa&lowbar;init&&num;39&semi;

    配置JTA SQL Server XADataSource参考:https://msdn.microsoft.com/zh-cn/library/aa342335.aspx 使用 JDBC 驱动程序 ...

  2. SQL入门&lpar;1&rpar;&colon; 创建&sol;查询&sol;更新&sol;连接&sol;视图&sol;SSMS简介

    本文介绍SQL的基本查询语句 (1) select... from  * 表示全部, 选择的东西还可以进行简单的运算, 可以列别名 select * from student; -sage from ...

  3. Java中通过方法创建一个http连接并请求&lpar;服务器间进行通信&rpar;

    服务器间进行通信只能通过流(Stream)的方式进行,不能用方法的返回值. 1.Java代码创建一个连接并请求该连接返回的数据 doGet()方法,execute()方法中调用 package dem ...

  4. 在同一台机器上让Microsoft SQL Server 2000&sol; SQL2005&sol; SQL2008共存

    可能很多朋友都遇到想同时在自己的机器上运行Microsoft SQL Server 2000以及Microsoft SQL Server 2005和Microsoft SQL Server 2008. ...

  5. Caused by&colon; java&period;lang&period;ClassNotFoundException&colon; javax&period;transaction&period;TransactionManager

    1.错误叙述性说明 usage: java org.apache.catalina.startup.Catalina [ -config {pathname} ] [ -nonaming ] { -h ...

  6. java连接sql server2000&sol;2005

    接触Java或者JSP,难免会使用到数据库SQL Server 2000/2005(我使用2005标准版[9.0.3054]测试),经过自己的搜索和研究,使用JDBC连接SQL Server成功,特此 ...

  7. JDBC连接SQL Server 2005步骤详解

    一.设置SQL Server服务器:    1.“开始” → “程序” → “Microsoft SQL Server 2005” → “配置工具” → “SQL Server Configurati ...

  8. 使用JDBC连接SQL Server

    源文:http://bbs.bc-cn.net/dispbbs.asp?boardid=12&id=140292 整理:秋忆 接触Java或者JSP,难免会使用到数据库SQL Server 2 ...

  9. php连接sql server

    这两天有个php连接sql server的项目,顺便学习学习sql server  说明: 1:PHP5.2.x本身有个php_mssql.dll的扩展用来连接Sql server,但是这个dll只是 ...

随机推荐

  1. css&lowbar;02之盒模型、渐变

    1.框模型:盒模型,①对象实际宽度=左右外边距+左右边框+左右内边距 + width:②对象实际高度=上下外边距+上下边框+上下内边距 + height: 2.外边距:margin:取值:①top(上 ...

  2. 64-who 简明笔记

    显示已登录用户的信息 who [options] who am i who程序显示在本地系统上登录的用户的信息.这些信息包括每个用户的用户名.终端设备.登录时间和相应的远程主机名(如果可应用) 参数 ...

  3. 【XLL API 函数】xlSheetId

    查找命名的工作表ID,用于外部引用. 原型 Excel12(xlSheetId, LPXLOPER12 pxRes, 1, LPXLOPER12 pxSheetName); 参数 pxSheetNam ...

  4. Install Google Pinyin on Ubuntu 14&period;04

    Install Google Pinyin on Ubuntu 14.04 I've been spending more and more time on Ubuntu and I'm not us ...

  5. C&num;自动选择出系统中最合适的IP地址

    写这个是因为很长时间以来,碰到过很多次这个问题,但都没当回事,这次又碰到了这个老问题,无奈百度了一圈儿未果,身边又没有大牛可以请教,就自己先“总结”了一套方法,一来给自己记录,二来如果碰巧能有朋友看到 ...

  6. oracle exp、imp实现导出导入

    一.说明    oracle 的exp/imp命令用于实现对数据库的导出/导入操作; exp命令用于把数据从远程数据库服务器导出至本地,生成dmp文件; imp命令用于把本地的数据库dmp文件从本地导 ...

  7. 对于使用了SSH造成的中文乱码问题,4大解决方法

    修改struts2.xml struts2.xml 中添加 <constant name="struts.i18n.encoding" value="UTF-8&q ...

  8. slf4j 和 log4j的关系及合用Maven配置

    最近因为项目实在是太忙,都没有时间学习.有时候会很矛盾,一方面是全心全意的想去快速做完项目,一方面又想学习点新东西.这样导致这两三个月都没有去学习一些新的东西,这周我开始创建自己的maven项目,因为 ...

  9. Docker:从引擎和运行框架理解Docker(3)

    Docker是GO语言编写的. 1.Docker发挥的作用: 1.快速.一致.标准化的交付应用.从开发.测试.到部署交付到成产环境都可以使用docker命令处理image到不同的环境 2.部署和扩展: ...

  10. 使用Python编写简单网络爬虫抓取视频下载资源

    我第一次接触爬虫这东西是在今年的5月份,当时写了一个博客搜索引擎.所用到的爬虫也挺智能的,起码比电影来了这个站用到的爬虫水平高多了! 回到用Python写爬虫的话题. Python一直是我主要使用的脚 ...