【问题标题】:no ocijdbc12 in java.library.pathjava.library.path 中没有 ocijdbc12
【发布时间】:2015-02-11 06:43:39
【问题描述】:

我正在尝试使用 OCI 驱动程序通过 java 程序连接到 oracle。

以下是配置。

  • Windows 7,32 位。
  • JDK 1.7
  • Oracle 客户端 11g R2。

ojdbc7.jar 在我的独立应用程序的类路径中。 但我得到以下异常:

Exception in thread 'main' java.lang.UnsatisfiedLinkError: no ocijdbc12 in java.library.path

我尝试使用瘦驱动程序进行连接。对于瘦驱动程序,它是连接成功。 我用谷歌搜索但无法找出解决方案。

请帮我解决这个问题。

【问题讨论】:

  • 请提供您的代码。
  • 你为什么使用 JNI?有什么你不能从 JDBC 得到的吗?
  • Class.forName("oracle.jdbc.driver.OracleDriver");试试 (Connection con = DriverManager.getConnection("jdbc:oracle:oci:@hostname:port_no:xe","USERNAME","PASSWORD"))
  • @FlyingGuy 如果我使用 JDBC“Thin”,那么对于远程 oracle 访问,我需要使用“OCI”可能不需要的防火墙权限,所以..

标签: java oracle dll oracle11g


【解决方案1】:

我遇到了同样的问题,只是我的*.ora 文件的外部文件夹不再存在,我通过(菜单导航)再次指向它:

  • 工具
    • 首选项
      • 数据库
        • 高级
          • tnsnames 目录

解决了!

【讨论】:

    【解决方案2】:

    要使用 oracle OCI 驱动程序,您的 java 库路径中应该有相关的 dll。

    https://docs.oracle.com/cd/B28359_01/java.111/b31224/instclnt.htm#CHDIHGEF

    确保引用正确的版本,包括 32/64 位和版本号。

    【讨论】:

    • 这个答案对我很有帮助,因为我使用了错误版本的 ojdbc jar,所以它调用了错误版本的 oci 驱动程序
    【解决方案3】:

    已通过设置Oracle客户端解决

    工具->首选项->数据库->高级->使用Oracle客户端->(选择oracle客户端路径)

    例如:即时客户端:file:/C:/Oracle/product/11.2.0/client_3/

    【讨论】:

      【解决方案4】:

      这对我有用:

      1. 重命名C:\Users\username\AppData\Roaming\JDeveloper\System 文件夹

      2. 从 Jdeveloper 运行项目

      3. 关闭 Jdeveloper

      4. 重命名 System 文件夹并尝试运行项目并更新 VO 中的映射

      【讨论】:

        【解决方案5】:

        我也遇到过类似的情况。

        解决办法原来是进入连接属性,从这个层级重新连接。

        我补充一下,这个问题是在安装oracle express之后出现的,期间出现错误,安装没有完成

        【讨论】:

          【解决方案6】:

          对于 JDeveloper 12c,如果您遇到此问题,请设置一个引用 ojdbc jar 的环境变量

          -J-Djdbc.library=<PATH>\ojdbc6.jar"
          

          【讨论】:

            【解决方案7】:

            错误消息可能具有误导性 - 尤其是当您的应用程序配置正确时(所有 jar 都已就位等)

            检查tnsnames.ora 文件是否包含您尝试连接的数据库的定义。如果没有,添加它并重新启动应用程序。

            -- 编辑--

            如果定义存在但您看不到任何 TNS,请检查语法是否正确。一个括号太多,SQL Developer 会默默地忽略整个文件...

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 2020-03-02
              • 2016-09-04
              • 2011-07-02
              • 2010-10-29
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2022-11-22
              相关资源
              最近更新 更多