posts - 33, comments - 46, trackbacks - 0, articles - 2

          JDBC驅動補丁與連接Oracle的一些錯誤

          Posted on 2008-06-03 12:46 在路上... 閱讀(5852) 評論(0)  編輯  收藏 所屬分類: JAVA相關
          開發環境一直使用jdbc14.jar "Oracle JDBC Driver version - 9.0.2.0.0"版本連接Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 服務器,突然今天不能連接了,報錯誤如下:
          java.sql.SQLException: 不能在 UTF8 和 UCS2 之間轉換: failUTF8Conv
                  at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:
          134)
                  at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:
          179)
                  at oracle.jdbc.dbaccess.DBError.check_error(DBError.java:
          1130)
                  at oracle.jdbc.dbaccess.DBConversion.failUTF8Conv(DBConversion.java:
          2261
          )
                  at oracle.jdbc.dbaccess.DBConversion.utf8BytesToJavaChars(DBConversion.j
          ava:
          2061)
                  at oracle.jdbc.dbaccess.DBConversion.utf8BytesToString(DBConversion.java
          :
          1976)
                  at oracle.jdbc.dbaccess.DBConversion.CharBytesToString(DBConversion.java
          :
          543)
                  at oracle.jdbc.ttc7.TTIoer.processWarning(TTIoer.java:
          334)
                  at oracle.jdbc.ttc7.O3log.receive2nd(O3log.java:
          523)
                  at oracle.jdbc.ttc7.TTC7Protocol.logon(TTC7Protocol.java:
          278)
                  at oracle.jdbc.driver.OracleConnection.
          <init>(OracleConnection.java:346)

                  at oracle.jdbc.driver.OracleDriver.getConnectionInstance(OracleDriver.ja
          va:
          468)
                  at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:
          314)
                  at java.sql.DriverManager.getConnection(Unknown Source)
                  at java.sql.DriverManager.getConnection(Unknown Source)
                  at JDBC.main(JDBC.java:
          9)
          然后更換為Oracle  11g的驅動,可以正常連接了,但是會顯示下面異常
          javax.management.MalformedObjectNameException: Invalid character '
          '
           in value part of property
          at javax.management.ObjectName.construct(ObjectName.java:529)
          at javax.management.ObjectName.
          <init>(ObjectName.java:1304)
          at oracle.jdbc.driver.OracleDriver.registerMBeans(OracleDriver.java:
          303)
          at oracle.jdbc.driver.OracleDriver$
          1.run(OracleDriver.java:213)
          at java.security.AccessController.doPrivileged(Native Method)
          at oracle.jdbc.driver.OracleDriver.
          <clinit>(OracleDriver.java:209)
          at java.lang.Class.forName0(Native Method)
          at java.lang.Class.forName(Class.java:
          164)
          采用9i驅動還碰到下面錯誤
          java.sql.SQLException: 違反協議
                  at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:
          134)
                  at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:
          179)
                  at oracle.jdbc.dbaccess.DBError.check_error(DBError.java:
          1160)
                  at oracle.jdbc.ttc7.O3log.receive2nd(O3log.java:
          548)
                  at oracle.jdbc.ttc7.TTC7Protocol.logon(TTC7Protocol.java:
          279)
                  at oracle.jdbc.driver.OracleConnection.
          <init>(OracleConnection.java:371)

                  at oracle.jdbc.driver.OracleDriver.getConnectionInstance(OracleDriver.ja
          va:
          551)
                  at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:
          351)
                  at java.sql.DriverManager.getConnection(Unknown Source)
                  at java.sql.DriverManager.getConnection(Unknown Source)
          • 最終查詢資料,發現還是jdbc驅動問題,原因因該是與bug有關,因此從新從otn.oracle.com下載驅動升級解決問題。
            ojdbc6.jar的驅動版本可以運行java -jar ojdbc6.jar查看,如果是Oracle 11.1.0.6.0-Production+ JDBC 4.0 compiled with JDK6,帶+號就是補丁版本,否則是沒有打補丁的,仍然可能出錯。
          • 我遇到的請況,采用10.2.0.4的jdbc驅動就沒有問題了
          • oracle jdbc驅動下載地址如下:

          Oracle Database 11g Release 1 (11.1.0.6) drivers
          Oracle Database 10g Release 2 (10.2.0.4), (10.2.0.3), (10.2.0.2), (10.2.0.1.0) drivers
          Oracle Database 10g (10.1.0.5), (10.1.0.4), (10.1.0.2.0) drivers
          Oracle9i Release 2 (9.2.0.8), (9.2.0.5), (9.2.0.4), (9.2.0.3), & (9.2.0.1) drivers
          Oracle9i Release 1 (9.0.1.4) & (9.0.1) drivers
          Oracle8i Release 2 (8.1.7)

          主站蜘蛛池模板: 嫩江县| 鄄城县| 庆阳市| 韩城市| 嘉定区| 新丰县| 荃湾区| 辛集市| 报价| 江口县| 桂阳县| 安图县| 方正县| 怀来县| 武山县| 临沧市| 岱山县| 石河子市| 五莲县| 鄂托克前旗| 延吉市| 曲水县| 通河县| 固始县| 图木舒克市| 甘南县| 会理县| 芒康县| 巴里| 泰安市| 冕宁县| 花莲县| 陵水| 凉山| 邢台市| 新乐市| 广南县| 奉节县| 张家港市| 淅川县| 呼玛县|