com.zaxxer.hikari.pool.HikariPool$PoolInitializationException:无法初始化池:ORA-00923:在预期位置未找到 FROM 关键字

com.zaxxer.hikari.pool.HikariPool$PoolInitializationException: Failed to initialize pool: ORA-00923: FROM keyword not found where expected

我开始了解 HikariCP,所以尝试了一下,但在 运行 时遇到了这个异常。找不到根本原因是什么。有人知道如何解决它吗?

我只是简单地使用 jdbcteplate batchupdate 向一个人 table 插入 id、名字。

<bean id="hikariConfig" class="com.zaxxer.hikari.HikariConfig">
        <property name="poolName" value="springHikariCP" />
        <property name="connectionTestQuery" value="SELECT 1" />
        <property name="dataSourceClassName" value="oracle.jdbc.pool.OracleDataSource" />
        <property name="maximumPoolSize" value="30" />
        <property name="idleTimeout" value="30000" />

        <property name="dataSourceProperties">
            <props>
                <prop key="url">jdbc:oracle:thin:@localhost:1521:orcl</prop>
                <prop key="user">TEST</prop>
                <prop key="password">TEST</prop>
            </props>
        </property>
    </bean>
     <bean id="dataSource" class="com.zaxxer.hikari.HikariDataSource">
          <constructor-arg ref="hikariConfig" />
    </bean>
    <bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">  
    <property name="dataSource" ref="dataSource"></property>  
    </bean>

    <bean id="HikariCpSample" class="com.ignite.sample.clustering.HikariCpSample">  
    <property name="jdbcTemplate" ref="jdbcTemplate"></property> 
    </bean>​

线程 "main" org.springframework.beans.factory.BeanCreationException 中的异常:创建名称为 'dataSource' 的 bean 在 class 路径资源 [spring.xml] 中定义时出错: 通过构造函数实例化 Bean 失败;嵌套异常是 org.springframework.beans.BeanInstantiationException:无法实例化 [com.zaxxer.hikari.HikariDataSource]:构造函数抛出异常;嵌套异常是 com.zaxxer.hikari.pool.HikariPool$PoolInitializationException:无法初始化池:ORA-00923:在预期的地方找不到 FROM 关键字

您的 connectionTestQuery 属性 值应该是有效的 SQL,对于 Oracle 使用 SELECT 1 from dual。将其更改为:

   <property name="connectionTestQuery" value="SELECT 1 from dual" />