0

我们在 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 的用户手册中,

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

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

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

4

1 回答 1

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 团队

于 2019-06-12T13:09:26.050 回答