PRB:在手工事务模式下无法启动克隆的连接[注意]
2006-12-06 21:12
260 查看
症状
loadTOCNode(1, 'symptoms');使用 Microsoft SQL Server 2000 JDBC 驱动程序时,您可能会遇到以下异常:
java.sql.SQLException:[Microsoft][SQLServer 2000 Driver for JDBC]Can't start a cloned connection while in manual transaction mode.
![]() | 回到顶端 |
原因
loadTOCNode(1, 'cause');在手工事务模式 (AutoCommit=false) 下,如果使用直接 (SelectMethod=direct) 模式,当您尝试对使用 JDBC 驱动程序的 SQL Server 数据库执行多个语句时,将会出现此问题。直接模式是该驱动程序的默认模式。
![]() | 回到顶端 |
解决方案
loadTOCNode(1, 'resolution');当您使用手工事务模式时,必须将驱动程序的 SelectMethod 属性设置为 Cursor,或者确保您按照本文“更多信息”一节指定的方式在每个连接上只使用一个活动语句。
![]() | 回到顶端 |
状态
loadTOCNode(1, 'status');这种现象是设计导致的。
![]() | 回到顶端 |
更多信息
loadTOCNode(1, 'moreinformation');重现此问题的步骤
loadTOCNode(2, 'moreinformation');使用以下代码重现此错误:
注意:请参见代码中的注释,以获取解决此问题所需的代码更改信息。
[code]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(); } }}
[/code]
![]() | 回到顶端 |
参考
loadTOCNode(1, 'references');有关克隆连接的更多信息,请参见 Microsoft SQL Server 2000 JDBC 驱动程序 HTML 帮助中的“连接字符串属性”部分或参见联机指南。有关使用该驱动程序的克隆连接的其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
313220 (http://support.microsoft.com/kb/313220/) PRB:到 SQL Server JDBC 的意外连接
解决方法:jdbc:microsoft qlserver://127.0.0.1:1433;DatabaseName=test;SelectMethod=Cursor
相关文章推荐
- PRB:在手工事务模式下无法启动克隆的连接[注意]
- sqlserver提示“在流水模式下,事务无法启动”的解决办法
- SQL 企业管理器中 "在流水模式下,事务无法启动"
- Linux 启动 进入单用户模式 其他用户无法连接
- “在流水模式下,事务无法启动
- sqlserver提示“在流水模式下,事务无法启动”的解决办法 .
- 在流水模式下事务无法启动
- 在流水模式下,事务无法启动
- sqlserver提示“在流水模式下,事务无法启动”的解决办法
- sqlserver提示“在流水模式下,事务无法启动”的解决办法
- sqlserver提示“在流水模式下,事务无法启动”的解决办法
- sqlserver提示“在流水模式下,事务无法启动”的解决办法
- 在机房内克隆Oracle系统造成OEM无法启动以及Sql Developer无法连接问题的解决方法
- sqlserver提示“在流水模式下,事务无法启动”的解决办法
- 流水模式下,事务无法启动
- 为什么在SqlServer流水模式下,事务无法启动?
- 在SQL Server中修改数据后其提示“在流水模式下,事务无法启动”
- sqlserver提示“在流水模式下,事务无法启动”的解决办法
- sqlserver提示“在流水模式下,事务无法启动”的解决办法
- 在流水模式下,事务无法启动