代码之家  ›  专栏  ›  技术社区  ›  Zacky112

这个例外的可能原因是什么?

  •  1
  • Zacky112  · 技术社区  · 15 年前

    在运行Java程序时,我会遇到以下错误:

    Exception in thread "main" java.lang.UnsatisfiedLinkError: t2cPingDatabase
            at oracle.jdbc.driver.T2CConnection.t2cPingDatabase(Native Method)
            at oracle.jdbc.driver.T2CConnection.doPingDatabase(T2CConnection.java:503)
            at oracle.jdbc.driver.PhysicalConnection.pingDatabase(PhysicalConnection.java:4886)
            at oracle.jdbc.driver.PhysicalConnection.pingDatabase(PhysicalConnection.java:4899)
            at oracle.jdbc.pool.OracleImplicitConnectionCache.testDatabaseConnection(OracleImplicitConnectionCache.java:2174)
            at oracle.jdbc.pool.OracleImplicitConnectionCache.performPooledConnectionTask(OracleImplicitConnectionCache.java:1343)
            at oracle.jdbc.pool.OracleImplicitConnectionCache.doForEveryCachedConnection(OracleImplicitConnectionCache.java:1208)
            at oracle.jdbc.pool.OracleImplicitConnectionCache.refreshCacheConnections(OracleImplicitConnectionCache.java:1848)
            at oracle.jdbc.pool.OracleConnectionCacheManager.refreshCache(OracleConnectionCacheManager.java:480)
            at tkpjb7382521.refreshConnectionPool(tkpjb7382521.java:199)
            at tkpjb7382521.test(tkpjb7382521.java:115)
            at tkpjb7382521.run(tkpjb7382521.java:46)
            at sqlj.qa.harness.AppJdbcHarness.RunTestCase(AppJdbcHarness.java:158)
            at sqlj.qa.harness.AppJdbcHarness.main(AppJdbcHarness.java:79)
    

    可能的原因是什么?

    2 回复  |  直到 15 年前
        1
  •  3
  •   codaddict    15 年前

    调用了本机方法t2cpingdatabase,看起来jvm找不到本机方法定义。可能是库路径问题。

        2
  •  6
  •   cletus    15 年前

    当找不到JAR中引用的本机方法时,Java会引发此错误。所以我猜您使用的是本机(OCI)Oracle JDBC驱动程序缺少或配置不正确的Oracle客户端配置,或者您的URL不正确,或者您只是缺少tnsnames.or a文件中的条目。

    最简单的解决方案可能只是使用Oracle精简JDBC驱动程序,而不需要安装Oracle TNS客户端。

    推荐文章