如何在Exasol上启用JDBC连接池?

时间:2019-01-17 17:51:53

标签: java hibernate connection-pooling exasolution

我们在Web应用程序中将Hibernate与Exasol结合使用。当我们将Hibernate的hibernate.connection.pool_size属性设置为大于1的值(或任何JDBC连接池的相应属性,例如HikariCP,c3p0,设置为大于1的值)时,我们得到:

java.sql.SQLException: syntax error, unexpected FOR_READ_ONLY_, expecting end_of_input or ';' [line 1, column 93] (Session: 1622929410050974585)
    at com.exasol.jdbc.ExceptionFactory.createSQLException(ExceptionFactory.java:164)
    at com.exasol.jdbc.ExceptionFactory.createSQLException(ExceptionFactory.java:21)
    at com.exasol.jdbc.AbstractEXAPreparedStatement.<init>(AbstractEXAPreparedStatement.java:62)
    at com.exasol.jdbc.AbstractEXAPreparedStatement_14.<init>(AbstractEXAPreparedStatement_14.java:14)
    at com.exasol.jdbc.EXAPreparedStatement.<init>(EXAPreparedStatement.java:12)
    at com.exasol.jdbc.DialectGeneric.createPreparedStatement(DialectGeneric.java:10)
    at com.exasol.jdbc.AbstractEXAConnection.prepareStatement(AbstractEXAConnection.java:608)
    at org.hibernate.id.enhanced.TableGenerator.prepareStatement(TableGenerator.java:618)
    at org.hibernate.id.enhanced.TableGenerator.access$200(TableGenerator.java:127)

Exasol's user manual

  

通过以下方式禁用驱动程序管理器的连接池   默认。您可以在配置工具中显式激活它   “ ODBC数据源管理员”。但请注意在这种情况下   重用的连接保留通过SQL设置的会话设置   命令(请参阅ALTER SESSION)。

在这里,提到了ODBC,而我们使用JDBC。所以我的问题是,如何在Exasol上启用JDBC连接池?

我们应该在EXA_PARAMETERS视图/表中添加/更新一行吗?

1 个答案:

答案 0 :(得分:1)

对于JDBC,EXASOL本身没有集成的连接池。 但是我们发现以下库非常有用: http://commons.apache.org/proper/commons-dbcp/download_dbcp.cgi 例如,它也用在JMeter中,并且在那儿工作正常。 但是,我们没有将该库与hibernate结合使用的经验。 顺便问一下,您使用过https://github.com/exasol/hibernate-exasol吗?

请告知我们进展情况,我们很乐意为您提供帮助! (联系我们:www.exasol.com/contact)

最好的问候, Exasol团队