我们在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)
通过以下方式禁用驱动程序管理器的连接池 默认。您可以在配置工具中显式激活它 “ ODBC数据源管理员”。但请注意在这种情况下 重用的连接保留通过SQL设置的会话设置 命令(请参阅ALTER SESSION)。
在这里,提到了ODBC,而我们使用JDBC。所以我的问题是,如何在Exasol上启用JDBC连接池?
我们应该在EXA_PARAMETERS
视图/表中添加/更新一行吗?
答案 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团队