我们在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
视图/表中添加/更新行? 最佳答案
对于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
关于java - 如何在Exasol上启用JDBC连接池?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54241605/