2017-05-27 118 views
-1

我看到很多罈子文件的Oracle JDBC下載頁面http://www.oracle.com/technetwork/database/enterprise-edition/jdbc-112010-090769.html哪個Oracle JDBC罐需要

我已經下載了以下驅動程序:

  1. ojdbc6.jar
  2. ojdbc6_g.jar
  3. ojdbc6dms.jar
  4. ojdbc6dms_g.jar
  5. orai18n.jar

我想在我的Tomcat 7版本中使用它。我添加了所有這些jar文件到$ CATALINA_HOME/lib文件夾,但幾天後,我的Tomcat拋出這個錯誤:

HTTP Status 500 - Servlet execution threw an exception 

type Exception report 

message Servlet execution threw an exception 

description The server encountered an internal error that prevented it from fulfilling this request. 

exception 

javax.servlet.ServletException: Servlet execution threw an exception 
    org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) 
root cause 

java.lang.NoSuchMethodError: oracle.i18n.text.converter.CharacterConverterOGS.getInstance(I)Loracle/i18n/text/converter/CharacterConverter; 
    oracle.sql.converter.CharacterConverterFactoryOGS.make(CharacterConverterFactoryOGS.java:40) 
    oracle.sql.CharacterSetWithConverter.getInstance(CharacterSetWithConverter.java:135) 
    oracle.sql.CharacterSetFactoryThin.make(CharacterSetFactoryThin.java:195) 
    oracle.sql.CharacterSet.make(CharacterSet.java:555) 
    oracle.jdbc.driver.DBConversion.init(DBConversion.java:236) 
    oracle.jdbc.driver.DBConversion.<init>(DBConversion.java:133) 
    oracle.jdbc.driver.T4CConnection.connect(T4CConnection.java:1704) 
    oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:385) 
    oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:564) 
    oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:251) 
    oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:29) 
    oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:563) 
    java.sql.DriverManager.getConnection(DriverManager.java:571) 
    java.sql.DriverManager.getConnection(DriverManager.java:215) 
    DB.getOracleConnection(DB.java:13) 
    IndexDAO.displayNewsTicker(IndexDAO.java:54) 
    SiteTemplate.newsTicker(SiteTemplate.java:256) 
    SiteTemplate.headerButtons(SiteTemplate.java:226) 
    Index.doGet(Index.java:55) 
    javax.servlet.http.HttpServlet.service(HttpServlet.java:621) 
    javax.servlet.http.HttpServlet.service(HttpServlet.java:728) 
    org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) 
note The full stack trace of the root cause is available in the Apache Tomcat/7.0.47 logs. 

Apache Tomcat/7.0.47 

我的Oracle版本是SQL*Plus: Release 11.2.0.2.0 Production我搜索了很多,但大部分專家都在談論重複或錯版jdbc驅動程序。我加倍檢查兩個建議,但同樣的問題。

現在問題出現在我的腦海裏,我可能會在我的tomcat lib文件夾中添加錯誤的jar文件。我的意思是可能是我需要1-2個jar文件,但添加了5個前面提到的可能有重複類的jdbc jar。

請告知

+1

查看描述ojdbc6_g.jar'的':***同ojdbc6.jar **除了用 「的javac -g」 編譯幷包含跟蹤代碼* - 。 - 查看'ojdbc6dms.jar'的描述:***與ojdbc6相同。jar **,不同之處在於它包含了支持DMS和有限的java.util.logging調用的工具。* ---因此刪除所有的「ojdbc6.jar」,「ojdbc6_g.jar」,「ojdbc6dms.jar」,「 ojdbc6dms_g.jar'。他們都是「相同的」, – Andreas

+1

你的錯誤似乎表明'orai18n.jar'文件與'ojdbc6.jar'不是同一個版本。你應該驗證一下。這也可能意味着你有重複的罐子。 – Andreas

+0

@Andreas你的意思是我刪除了所有的五個文件,包括我在我的問題中提到的i18n.jar,除了ojdbc6.jar。我對嗎? – Raakh

回答

0

你只需要這一個:ojdbc6.jar

  • ojdbc的* .jar - 所有類支持基本功能的精簡和OCI驅動程序

  • ojdbc * _g.jar - 同ojdbc *除非編譯的.jar包含調試信息和java.util.logging調用的-g選項。

  • ojdbc * dms.jar - 與ojdbc * .jar相同,但包含支持Oracle動態監測服務(DMS)的代碼。還包括一些JDBC日誌記錄支持。只有當dms.jar也在類路徑中時才能使用此文件。 dms.jar文件不作爲RDBMS產品的一部分提供。它僅作爲Oracle應用服務器產品的一部分提供。

  • ojdbc * dms_g.jar - 同ojdbc *除了使用-g選項編譯包含調試信息,以飽滿的JDBC日誌支持dms.jar。

  • orai18n.jar - 包含支持高級數據類型(對象)中所有Oracle字符集的配置信息。如果數據庫字符集不是UCS2,ASCII,ISO_LATIN_1,UTF8和AL32UTF8,應用程序使用ADT,則必須將此文件包含在類路徑中。

從這裏摘自:Oracle JDBC FAQ