【问题标题】:How can I tell SQLDeveloper which version of JDBC to use?如何告诉 SQLDeveloper 使用哪个版本的 JDBC?
【发布时间】:2021-04-12 15:30:31
【问题描述】:

我需要使用 SQLDeveloper 从我的机器连接到 Oracle 9i 服务器。我已经为更现代的数据库提供了 SQLDeveloper 18.2 + Oracle Client 12 的功能版本,但对于这种连接,我想要一个单独的旧版本的 SQLDeveloper。

我已将 SQLDeveloper 3.2.20.09 安装在我机器上的单独文件夹中并且可以启动它,但它默认从 Oracle 客户端 12 中查找 ojdbc6.jar 文件。如果我转到帮助 > 关于并选择属性,则jdbc.library 说 jdbc.library /C:/app/client/product/12.1.0/client_1/jdbc/lib/ojdbc6.jar

如果我尝试连接,则会收到错误 ORA-01460: unimplemented or unreasonable conversion requested

我尝试将 SQL Developer 3.2 安装的路径放在 PATH 变量中,但没有区别。有没有办法告诉 SQL Developer 哪个 jdbc 驱动程序用于 Oracle ? (可能在 sqldeveloper.conf 中)

【问题讨论】:

    标签: oracle-sqldeveloper


    【解决方案1】:

    官方的回答是:

    • 使用我们随产品提供的 jar(驱动程序)或
    • 使用胖客户端,我们将从您机器上的 Instant Client 或 Oracle HOME 中提取 jdbc 驱动程序

    只要您不尝试及时返回或前进到软件能够识别/支持驱动程序的时间点,第二个选项就可以工作。

    换句话说,你不能告诉 SQL Developer 18.x 使用 9i Home,我们有一个硬依赖要求至少一个 11gR2 客户端(我相信它实际上可能是一个基于 12c 的客户端,这是必需的)。

    您最好将数据从旧的 9i 数据库中取出并放入现代 12 或 19c 的 Oracle 实例中。

    但它默认从 Oracle Client 12 中查找 ojdbc6.jar 文件。

    听起来你已经设法定义了一个厚连接,进入首选项并在高级页面上禁用任何对 OCI 或厚连接的引用,然后它将使用 SQLDev 附带的 jdbc 驱动程序。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-05-12
      • 1970-01-01
      • 1970-01-01
      • 2010-09-27
      • 2020-10-13
      • 2018-10-31
      相关资源
      最近更新 更多