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.transaction.xa.XAException: java.sql.SQLException: 无法创建 XA 控制连接。错误: 未能找到存储过程 'master..xp_sqljdbc_xa_init'

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

  2. SQL入门(1): 创建/查询/更新/连接/视图/SSMS简介

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

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

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

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

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

  5. Caused by: java.lang.ClassNotFoundException: javax.transaction.TransactionManager

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

  6. java连接sql server2000/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. synzhronized原理3

    1.java中的每个对象都可作为锁,有三种表现形式: 对于普通方法,锁的是当前this对象. 对于静态方法,锁的是class对象 对于方法块,锁的是synchronized指定的对象. 2.JVM基于 ...

  2. iOS ASIHTTPRequest 使用指南

    http://www.devdiv.com/iOS_iPhone-ASIHTTPRequest使用指南---_lt__lt_翻译稿_gt__gt_---连载-thread-93741-1-1.html

  3. sdut2169:Sequence(dp)

    题目:http://acm.sdut.edu.cn/sdutoj/problem.php?action=showproblem&problemid=2169 #include <iost ...

  4. Android shape的使用(圆角矩形)

    <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http: ...

  5. 堆heap和栈Stack(百科)

    堆heap和栈Stack 在计算机领域,堆栈是一个不容忽视的概念,堆栈是两种数据结构.堆栈都是一种数据项按序排列的数据结构,只能在一端(称为栈顶(top))对数据项进行插入和删除.在单片机应用中,堆栈 ...

  6. Python模块(scapy)

    scapy scapy相当于linux的tcpdump的功能

  7. 第二篇 Integration Services:SSIS数据泵

    本篇文章是Integration Services系列的第二篇,详细内容请参考原文. 简介SSIS用于移动数据.数据流任务提供此功能.因为这个原因,当介绍SSIS时我喜欢从数据流任务开始.数据流任务的 ...

  8. iOS Reachability的基本用法

    #import <UIKit/UIKit.h> @interface AppDelegate : UIResponder <UIApplicationDelegate> @pr ...

  9. C#线程系列讲座(2):Thread类的应用

    一.Thread类的基本用法 通过System.Threading.Thread类可以开始新的线程,并在线程堆栈中运行静态或实例方法.可以通过Thread类的的构造方法传递一个无参数,并且不返回值(返 ...

  10. 第三方cookie与搜索引擎+网站广告原理

    cookie 摘自 : http://www.williamlong.info/archives/3125.html 关于cookie的安全知识 :http://shaoshuai.me/tech/2 ...