我正在尝试优化从我的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.3oracle版本)。这在开发人员数据库中运行得很好,但是当我试图连接生产数据库时,我有下一个错误:
oracle.i18n.text.converter.CharacterConverterOGS.getInstance(I)Loracle/i18n/text/converter/CharacterConverter;:java.lang.NoSuchMethodError
我尝试使用不同的ojdbc驱动程序版本(5,6),但我只在生产数据库中得到相同的错误。
有人帮忙吗?
对不起,我的英语。
致以问候。
编辑1:
@CSK
我正在使用Spring,下面是用于数据库连接的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}" />发布于 2016-06-25 09:55:13
我想你的类路径在生产中有问题。因此,如果可能的话,尝试将jar文件(orai18n.jar)直接添加到您的项目中,然后再次检查。
在我的例子中,它起作用了&希望它能帮助我!
https://stackoverflow.com/questions/38016852
复制相似问题