java - Oracle JDBC 数据源将所有连接的自动提交属性设置为 false

标签 java oracle jdbc datasource

我有这个 bean :

public DataSource getDatsource() throws SQLException {
    OracleDataSource dataSource = new OracleDataSource();
    dataSource.setUser(userName);
    dataSource.setPassword(password);
    dataSource.setURL(wallet);
    Properties props = new Properties();
    props.put("AutoCommit", false); // not working
    dataSource.setConnectionProperties(props );
    return dataSource;
}

我会设置数据源,就像从它生成的所有连接一样,自动提交为 false。

我该怎么做?

PS 我知道 -Doracle.jdbc.autoCommitSpecCompliant=false 并且可以工作,但我会将该属性设置为硬编码。

谢谢。

最佳答案

解决方案:

public DataSource getDefaultDataSource() throws SQLException {
    OracleDataSource dataSource = new OracleDataSource();
    dataSource.setUser(userName);
    dataSource.setPassword(password);
    dataSource.setURL(wallet);
    Properties props = new Properties();
    props.put("oracle.jdbc.autoCommitSpecCompliant", "false");
    dataSource.setConnectionProperties(props );
    return dataSource;
}

关于java - Oracle JDBC 数据源将所有连接的自动提交属性设置为 false,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55062845/

相关文章:

java - 在 Statement 和 ResultSet 上设置提取大小之间的区别

java - 如何解决 com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException

java - 内存不足异常+分析hprof文件转储

python - "Server Error in '/' Application"由于 Oracle.ManagedDataAccess.Client.Oracle.Exception : ORA-20002: Procedure(CA_Clasic_Search)Error using Selenium

java - 方法重写和继承

sql - 将所有选定的列转换为_char

sqlplus - 定期将结果写入文件

oracle - 使用 JDBC 从存储过程中获取 Oracle 表类型

java - 没有画廊的android coverflow

java - 在 Android 平台上从 java 代码读取/写入/proc/<pid>/mem