免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1438 | 回复: 1
打印 上一主题 下一主题

数据库问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-07-30 12:03 |只看该作者 |倒序浏览
我有一个操作数据库的javabean里面有一个方法功能是向数据库中某表插入数据.方法里是通过PreparedStatement预编译的 SQL 语句的对象插入数据的.


注意:我在javabean中测试这个插入数据操作没有问题

问题:但是我通过tomcat把网页跑起来在页面中执行插入就会有错..以下就是错误异常...插入失败

java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]Can't start a cloned connection while in manual transaction mode.


我用断点跟踪调试走到方法中
String sqlStr = "insert into " +
"EXTRA_PRINT(OID,ORGID,ORGNAME,FILENAME,BUDGET,PRINTDESC,CREATE_UID," +
"CREATE_NAME,DIRECTOR_UID,DIRECTOR_NAME,BUREAU_UID,BUREAU_NAME," +
"SEC_UID,SEC_NAME,SECG_UID,SECG_NAME,STEP_ID,REQ_DATE) " +
"values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)";
this.pStatement = conn.prepareStatement(sqlStr);//是走到这里抛出的异常

论坛徽章:
0
2 [报告]
发表于 2006-07-30 14:01 |只看该作者
原因一般是当你在一个SQL SERVER的JDBC连接上执行多个STATEMENTS的操作,或者是手动事务状态(AutoCommit=false) 并且使用 direct (SelectMethod=direct) 模式.

Direct 模式是默认的模式.


解决办法


当你使用手动事务模式时,必须把SelectMethod 属性的值设置为 Cursor, 或者是确保在你的连接只有一个STATEMENT操作。

修改url

加入SelectMethod=cursor即可
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP