Oracle JDBC数据源将所有连接的auto commit属性设置为false

vlf7wbxs  于 2023-08-03  发布在  Oracle
关注(0)|答案(2)|浏览(183)

我有一个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和作品,但我会设置属性硬编码。

  • 谢谢-谢谢
dy2hfwbg

dy2hfwbg1#

解决方法:

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;
}

字符串

pw136qt2

pw136qt22#

该值应为字符串,而不是布尔值:

props.put(OracleConnection.CONNECTION_PROPERTY_AUTOCOMMIT, "false");

字符串

相关问题