Ojdbc驱动程序错误

时间:2016-06-24 15:20:54

标签: java database oracle oracle11g ojdbc

我试图优化从Java应用程序到Oracle数据库的查询性能,因为sql developer工具执行的查询比java应用程序更快。 我有两个不同的数据库(一个用于测试/开发人员,另一个用于生产)。

开发人员数据库版本为:11g企业版版本11.2.0.1.0 - 64位

生产数据库版本为:11g企业版版本11.2.0.3.0 - 64位

我的java应用程序使用的是ojdbc14驱动程序,它适用于两个数据库,但性能查询工作缓慢。所以在调查之后,我读到了开始提高性能的一个好方法是在java应用程序中使用正确的ojdbc驱动程序(根据数据库版本)。所以我下载了ojdbc6驱动程序(适用于11.2.0.3 oracle版本)。这在开发人员数据库中工作正常,但是当我尝试连接生产数据库时,我有下一个错误:

java.lang.NoSuchMethodError:oracle.i18n.text.converter.CharacterConverterOGS.getInstance(I)Loracle / i18n / text / converter / CharacterConverter;

我尝试使用不同的ojdbc驱动程序版本(5,6),但我在生产数据库中得到了相同的错误。

一些帮助?

对不起我的英语。

的问候。

编辑1:

@CSK

我使用的是Spring MVC,这是我用于数据库连接的ApplitacionContext xml:

<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">
    <property name="driverClass" value="${jdbc.driverClassName}"/>
    <property name="jdbcUrl" value="${jdbc.url}"/>
    <property name="user" value="${jdbc.username}"/>
    <property name="password" value="${jdbc.password}"/>
    <property name="maxPoolSize" value="${jdbc.maxPoolSize}" />
    <property name="minPoolSize" value="${jdbc.minPoolSize}" />
    <property name="maxStatements" value="${jdbc.maxStatements}" />
</bean>

<bean id="dataSourceDataStage" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">
    <property name="driverClass" value="${jdbc.datastage.driverClassName}"/>
    <property name="jdbcUrl" value="${jdbc.datastage.url}"/>
    <property name="user" value="${jdbc.datastage.username}"/>
    <property name="password" value="${jdbc.datastage.password}"/>
    <property name="maxPoolSize" value="${jdbc.datastage.maxPoolSize}" />
    <property name="minPoolSize" value="${jdbc.datastage.minPoolSize}" />
    <property name="maxStatements" value="${jdbc.datastage.maxStatements}" />

1 个答案:

答案 0 :(得分:1)

我认为你的类路径在生产中出现了一些问题。因此,如果可能的话,尝试将jar文件(orai18n.jar)直接添加到项目中并再次重新检查。
就我而言,它起作用了希望它有所帮助!