Can't start manual transaction mode because there are cloned connections

问题描述 

今天在使用sql server 2000做jdbc数据库连接时,设置了手动的事务提交,结果报错。 

java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]Can't start manual transaction mode because there are cloned connections

 

网上搜到的答案:

连接字符串中碰到的SelectMethod=cursor 
用法如下: 
作用:以利用服务器端的游标加快速度 
使用情况: 
  1.执行多个Statements的操作的时候用 

  2.需要手动使用事务的时候使用  

用SQL Server驱动一次select很多数据最好在connection string中加上SelectMethod=Cursor,以利用服务器端游标加快速度,其实不只sqlserver,oracle的jdbc,只要使用PreparedStatement,驱动默认就使用游标,sqlserver则不然,必须使用SelectMethod=Cursor才打开游标。  

 

解决方案:

修改jdbc连接的url为

jdbc:microsoft:sqlserver://10.105.1.104:1433;DataBaseName=test2;SelectMethod=cursor 

 

参考 :http://blog.csdn.net/liuwei_blog/archive/2008/11/01/3197869.aspx 

 

posted on 2011-02-17 14:55  izumi  阅读(514)  评论(0编辑  收藏  举报

导航