首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >java.sql.SQLException:不能使用自动提交集进行回滚

java.sql.SQLException:不能使用自动提交集进行回滚
EN

Stack Overflow用户
提问于 2016-11-24 21:42:32
回答 1查看 3K关注 0票数 1

我的项目出了点问题。当我通过库连接到数据库时,问题就出现了。

这个库包含以下代码:

代码语言:javascript
复制
PreparedStatement stmt = null;
try {
    con.setAutoCommit(true);
    stmt = con.prepareStatement(this.sqlIniBD);
    stmt.setString(1, id);
    stmt.executeUpdate();
} catch (Throwable t) {
    if (this.tavi.activo()) this.tavi.escribir(toString(), "No se ha podido insertar la fila inicial para las claves de encriptacion (" + id + "). Posiblemente ya existe: " + t);
}

我想问你,有没有可能在我的standalone.xml中放入autoCommit(false)。也许这很奇怪或者很愚蠢。这是数据源,例如:

代码语言:javascript
复制
<datasource jta="false" jndi-name="java:/xxx" pool-name="xxx" enabled="true" use-ccm="false">
    <connection-url>jdbc:oracle:thin:@oradag.cm.es:1524:oradag1</connection-url>
    <driver-class>oracle.jdbc.OracleDriver</driver-class>
    <connection-property name="autoCommit">
        <!-- not working -->false 
    </connection-property>
    <driver>ojdbc7.jar</driver>
    <security>
        <user-name>xxx</user-name>
        <password>xxx</password>
    </security>
    <validation>
        <validate-on-match>false</validate-on-match>
        <background-validation>false</background-validation>
    </validation>
    <timeout>
        <set-tx-query-timeout>false</set-tx-query-timeout>
        <blocking-timeout-millis>0</blocking-timeout-millis>
        <idle-timeout-minutes>0</idle-timeout-minutes>
        <query-timeout>0</query-timeout>
        <use-try-lock>0</use-try-lock>
        <allocation-retry>0</allocation-retry>
        <allocation-retry-wait-millis>0</allocation-retry-wait-millis>
    </timeout>
    <statement>
        <share-prepared-statements>false</share-prepared-statements>
    </statement>
</datasource>

有什么想法吗?我不能修改这个库,我没有代码。

所以我唯一的希望就是standalone.xml

EN

回答 1

Stack Overflow用户

发布于 2016-11-28 23:26:29

最后,解决方案是选择jar中的代码,并创建一个新的java项目。将变量更改为setAutoCommit(false),然后重新编译项目,并像jar一样导出。因此,最终我得到了新的jar,并在变量中更改了值。

一个奇怪的解决方案,但是解决了这个问题。当然,我使用了一个反编译器来实现这个解决方案

谢谢大家

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40787966

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档