使用IBatis操作SQLServer数据库查询怪异异常
2008-06-05 13:09
120 查看
异常信息 : java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]Can't start a cloned connection while in manual transaction mode.
分析 : 这个错误产生的原因一般是当你在一个SQL SERVER的JDBC连接上执行多个STATEMENTS的操作,或者是手动事务状态(AutoCommit=false) 并且使用 direct (SelectMethod=direct) 模式. Direct 模式是默认的模式.
解决办法 : 当你使用手动事务模式时,必须把SelectMethod 属性的值设置为 Cursor, 或者是确保在你的连接上只有一个STATEMENT操作。
解析:
如果你用MS的驱动时,如果你没有设置selectMethod=cursor(默认为direct),这时候,你同一个connection创建了两个statement,实际上第二个statement会隐式创建一个cloned connection,所以你在Enterprise manager里会看到多出的session
设置SelectMethod参数举例:
在连接SQLServer数据的URL中进行设置 : jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=db;SelectMethod=Cursor
至于将SelectMethod设置程Direct和Cursor的区别,和设置程Cursor后可对那些参数设置进行进一步优化就靠大家自己取查资料了,这里就不在细叙了
相关文章推荐
- Access里的错误-操作必须使用一个可更新的查询
- 错误“操作必须使用一个可更新的查询”原因及解决办法
- Microsoft JET Database Engine 错误 '80004005' 操作必须使用一个可更新的查询
- 浏览ASP页面,出现的错误“操作必须使用一个可更新的查询”
- Access数据库:它已经被别的用户以独占方式打开,操作必须使用一个可更新的查询,不能锁定文件
- 使用Java程序从数据库中查询大量的数据时出现异常:java.lang.OutOfMemoryError: Java heap space
- ”操作必须使用一个可更新的查询“的解决
- 错误“操作必须使用一个可更新的查询”原因及解决办法
- “[Microsoft][ODBC Microsoft Access Driver] 操作必须使用一个可更新的查询”的解决办法
- 错误“操作必须使用一个可更新的查询”原因及解决办法
- 操作必须使用一个可更新的查询;HTTP 500 - 内部服务器错误; 您未被授权查看该页;您不具备使用所提供的凭据查看该目录或页的权限;HTTP 错误 401.3 - 访问被资源 ACL 拒绝
- 完成该操作所需的数据还不可使用(异常来自 HRESULT:0x8000000A)
- 查询操作、存储过程、函数调用中使用行处理器-bboss persistent框架行处理器使用-1
- 操作必须使用一个可更新的查询
- 使用iBatis中报 java.sql.SQLException: 无效的列类型异常
- 错误提示:操作必须使用一个可更新的查询
- 今日问题:操作必须使用一个可更新的查询。
- 因为数据库正在使用,所以未能获得对数据库的排它访问权。RESTORE DATABASE 操作异常终止。
- 如何解决ADO.NET访问Access数据库出现"操作必须使用一个可更新的查询"的问题
- ibatis中使用like模糊查询