【问题标题】:Which JDBC driver type should I use for accessing an Oracle Database?我应该使用哪种 JDBC 驱动程序类型来访问 Oracle 数据库?
【发布时间】:2023-03-06 09:23:01
【问题描述】:

我们在 AIX 上的 Tomcat WebServer 内运行 J2EE 应用程序。

我们需要访问 Oracle 数据库的一些视图和存储过程。这个 oracle 数据库不是我们的应用程序所基于的数据库,而是我们必须与之通信的外部系统。

据我所知,我们将在高负载下每分钟获得大约 1000 次 SELECT,并且每小时有几个存储过程调用(如果有的话)。

哪种 JDBC 驱动程序类型最适合在这种情况下使用?

据我所知,类型 4 似乎是要走的路,但我无法通过 Oracle 或其他可靠来源找到关于此的明确声明。

【问题讨论】:

    标签: oracle jdbc jakarta-ee


    【解决方案1】:

    Type 4(“瘦”)驱动程序是 Oracle 推荐的驱动程序。

    使用 OCI(“厚”)驱动程序的唯一原因是您需要 RAC 的高级功能,例如透明应用程序故障转移 (TAF)。对于其他一切,建议使用瘦驱动程序。

    有关详细信息,请参阅 JDBC 开发人员指南:
    http://download.oracle.com/docs/cd/B28359_01/java.111/b31224/overvw.htm#BABCHIGI

    最重要的一句话大概是:

    一般来说,除非您需要特定于 OCI 的功能,例如支持非 TCP/IP 网络,否则请使用 JDBC Thin 驱动程序。

    【讨论】:

    • 感谢您的回答!您能否发布一个链接或向我发送 Oracle 推荐的正确方向?因为老实说,如果不是因为我的客户持怀疑态度,我早就选择了 Type 4,所以我需要一些东西来展示。
    • 太棒了!这正是我需要的。非常感谢!
    【解决方案2】:

    根据我的经验,我建议使用 Thin 驱动程序。但是有 3 种情况我会建议 OCI:

    1. 运行程序的 DB 和 JVM 位于同一主机上。在这种情况下,OCI 将省略 TCP/IP 层,通信可能会更快
    2. 您只需要 Oracle SID 即可连接到 DB,因为使用的是完整客户端。您不需要完整的数据库 URL。这在 dev/test/prod 环境中的配置中可能很有用。
    3. 您非常频繁地(我是认真的!)调用存储过程。

    【讨论】:

      【解决方案3】:

      Type 4 似乎是要走的路,但你可以通过优缺点来决定自己listed here.

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-07-15
        • 2015-09-23
        • 2011-06-04
        • 2012-11-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多