struts+tomcat4.1+sqlserver2000 提交事务处理的时候出现链接clone ,不能执行事务

tomwin 2004-08-04 03:08:23
我在做一个小工程的时候用sqlserver2000来做数据库,struts架构来解决bs架构.
在做事务的时候
Connection conn = null;
Statement stmt = null;
String[] functionSigns = null;

functionSigns = sepersteStrings(functions, ",");
try
{
conn = ConnManager.getConnection();
conn.setAutoCommit(false);
stmt = conn.createStatement();
String delUserFuncsSql = "delete from table_user where USERS_ID=" +
userID;
stmt.addBatch(delUserFuncsSql);
if (null != functions && functions.length() > 0)
{
for (int i = 0; i < functionSigns.length; i++)
{
String insertSql = "insert into OMS_T_USER_FUNCTION values( '" +
userID +
"', '" + functionSigns[i] +
"', '" + "1" +
"', '" + (new Date(System.currentTimeMillis())).toString() + "')";
stmt.addBatch(insertSql);
}
}
stmt.excuteBatch();
conn.commit();
conn.setAutoCommit(true);
stmt.close();

出现链接是克隆的,sqlserver2000不允许执行事务,开始是怀疑自己写的链接池不允许用事务,后来用程序来链接数据库(不在tomcat环境下)进行事务操作,是可以执行事务操作的,请问是怎么回事呢? 是sqlserver2000的问题,还是struts的问题呢?请大侠赐教
...全文
63 点赞 收藏 6
写回复
6 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
weijian 2004-08-12
怎么释放干净啊?
回复
damaha999 2004-08-04
关注
回复
fanciex 2004-08-04
改用连接池好了
回复
tomwin 2004-08-04
显示的错误是conn 是clonle的.我看看以前的操作是不是没有释放干净.
回复
tomwin 2004-08-04
我在做事务之前Connection conn = null;
了啊.
回复
TinyJimmy 2004-08-04
sqlserver jdbc不运行一个连接做两件事情, 你的conn在操作前在干另一件事, 而且释放得不干净
回复
相关推荐
发帖
Java EE
创建于2007-09-28

6.7w+

社区成员

J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
申请成为版主
帖子事件
创建了帖子
2004-08-04 03:08
社区公告
暂无公告