首先 程序中只有一处 insert,这里的insert是插入临时表
其次 程序中设置了setAutoCommit(false)
第三 结果并没有commit
第四 数据库是oracle9i,tomcat5.5
问题1:在某些情况下临时表会插入若干数据,照上面的情况应该不会的才对啊问题2:tomcat在5.5以前好像没有在链接池的配置属性中设置是否自动提交的配置项的.5.5好像是有的,但是我没有配置,这个会不会是问题所在? 
问题3: 现在在tomcat5.5中的链接池配置中可以设置是否自动提交,struts的链接池配置也可以加,程序中也可以加,到底这个属性以哪层的设置为准呢?

解决方案 »

  1.   

    补充一个问题,我在网上查到 在程序中调用 setAutoCommit(false),安装规范会自动提交所有的tras,我想是不是这个原因呢
      

  2.   

    连接池都可以设置 自动提交吧 都是jdbc怎能厚此薄彼
      

  3.   

    上面的回答理解不了啊-------------------------------
    今天又更深入发现了问题:
    tomcat链接池配置中数据源配置项加 removeAbandoned="true" removeAbandonedTimeout="30"
    这样当程序的链接没有因故释放掉,容器会自动去kill. 这就导致了上面的问题,因为在系统kill 链接的时候他会提交所有当前的 trans (已经测试过). 
    所以问题是我即要使用这个参数,又不想他提交怎么办呢?
      

  4.   

    找个一个 "注意:Tomcat5.5不支持ConnectionPoolDataSource接口。"
    这意味着什么呢?