[Microsoft][SQLServer JDBC Driver]Can't start a cloned connection while in manual transaction mode
来源:互联网 发布:手机淘宝怎么定位地址 编辑:程序博客网 时间:2024/04/29 09:36
SYMPTOMS
While using the Microsoft SQL Server 2000 Driver for JDBC, you may experience the following exception:
java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]Can't start a cloned connection while in manual transaction mode.
CAUSE
This error occurs when you try to execute multiple statements against a SQL Server database with the JDBC driver while in manual transaction mode (AutoCommit=false) and while using the direct (SelectMethod=direct) mode. Direct mode is the default mode for the driver.
RESOLUTION
When you use manual transaction mode, you must set the SelectMethod property of the driver to Cursor, or make sure that you use only one active statement on each connection as specified in the "More Information" section of this article.
Steps to Reproduce the Behavior
Use the following code to reproduce the error:NOTE: See the comments in the code for information on the code changes that are required to resolve the problem.
import java.sql.*;
import java.io.*;
public class Repro{
public static void main(String args[])
{
try {
Connection con;
Statement s1 = null;
ResultSet r1 = null;
Statement s2 = null;
ResultSet r2 = null;
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
con = DriverManager.getConnection(
"jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=pubs;SelectMethod=Direct;User=User;Password=Password");
//fix 1
//"jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=pubs;SelectMethod=Cursor;User=User;Password=Password");
con.setAutoCommit(false);
try {
s1 = con.createStatement();
r1 = s1.executeQuery("SELECT * FROM authors");
//fix 2
//r1.close();
//s1.close();
s2 = con.createStatement();
r2 = s2.executeQuery("SELECT * FROM publishers");
}
catch (SQLException ex)
{
System.out.println(ex);
}
}
catch (Exception e)
{
e.printStackTrace();
}
}
}
http://support.microsoft.com/default.aspx?scid=kb;EN-US;q313181
import java.io.*;
public class Repro{
public static void main(String args[])
{
try {
Connection con;
Statement s1 = null;
ResultSet r1 = null;
Statement s2 = null;
ResultSet r2 = null;
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
con = DriverManager.getConnection(
"jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=pubs;SelectMethod=Direct;User=User;Password=Password");
//fix 1
//"jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=pubs;SelectMethod=Cursor;User=User;Password=Password");
con.setAutoCommit(false);
try {
s1 = con.createStatement();
r1 = s1.executeQuery("SELECT * FROM authors");
//fix 2
//r1.close();
//s1.close();
s2 = con.createStatement();
r2 = s2.executeQuery("SELECT * FROM publishers");
}
catch (SQLException ex)
{
System.out.println(ex);
}
}
catch (Exception e)
{
e.printStackTrace();
}
}
}
http://support.microsoft.com/default.aspx?scid=kb;EN-US;q313181
- [Microsoft][SQLServer JDBC Driver]Can't start a cloned connection while in manual transaction mode
- iBatis使用SQLServer出现Can't start a cloned connection while in manual transaction mode.错误
- Can't start a cloned connection while in manual transaction mode
- sql server 出现Can't start a cloned connection while in manual transaction mode 的解决方法
- Can't start a cloned connection while in manual transaction mode的解决方法
- jsp Can't start a cloned connection while in manual transaction mode解决
- Can't start a cloned connection while in manual transaction mode.
- Can't start a cloned connection while in manual transaction mode.解决方法
- Can't start a cloned connection while in manual transaction mode.错误的解决方案
- Can't start a cloned connection while in manual transaction mode
- Sql Server2000 Can't start a cloned connection while in manual transaction mode
- Can't start a cloned connection while in manual transaction mode
- Can't start a cloned connection while in manual transaction mode 解决
- java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]Can't start a cloned connection wh
- PRB: Cannot Start a Cloned Connection While in Manual Transaction Mode
- cloned connection do`t in manual transaction
- JDBC连SQL SERVER数据库常见问题Can't start a cloned connection while(转载)
- sqlserver2000 Can't start manual transaction mode because there are cloned connections
- 总于要正式使用WIKI了,值得纪念啊。
- 程序人生—我已经努力了七年
- JavaScript 日志工具
- sTools使用说明及视频教程
- CCheckListbox使用
- [Microsoft][SQLServer JDBC Driver]Can't start a cloned connection while in manual transaction mode
- 如何强制删除正在使用的文件
- 张家界旅游
- window.showModalDialog以及window.open用法简介
- 爸爸病情检查情况
- ASP.NET IIS 注册工具 (Aspnet_regiis.exe)
- SqlServer2000中的标识值获取函数
- 好集网(http://www.hao448.com)忙了两个多月终于 上线测试了
- Introducing Windows Mobile 5.0