我应该使用哪种JDBC驱动程序来访问Oracle数据库?

4
我们在AIX上的Tomcat Web服务器中运行J2EE应用程序。我们需要访问Oracle数据库的一些视图和存储过程。这个Oracle数据库不是我们的应用程序所基于的数据库,而是我们必须与之通信的外部系统。
就目前而言,如果负载高,我们每分钟大约会执行1000个SELECT操作,并且每小时可能会有一些存储过程调用。
在这种情况下,哪种JDBC驱动类型最好使用?
据我所知,类型4似乎是最好的选择,但我还没有找到Oracle或其他可靠来源对此的明确说明。
3个回答

6

Type 4 ("thin") 驱动是 Oracle 推荐的驱动。

只有当需要 RAC 的高级功能,如透明应用程序故障转移(TAF)时,才需要使用 OCI("thick") 驱动。对于其他所有情况,建议使用 thin 驱动。

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

最重要的一句话可能是:

通常情况下,除非需要 OCI 特定的功能,例如支持非 TCP/IP 网络,否则请使用 JDBC Thin 驱动程序。


谢谢你的回答!你能否提供一个链接或指引我去参考Oracle的建议?因为说实话,如果没有客户持怀疑态度的问题,我已经选择了Type 4。所以我需要一些证据来支持我的决定。 - Maximilian

3

根据我的经验,我建议使用Thin驱动程序。然而,在以下三种情况下,我会建议使用OCI:

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

1

第四种方式似乎是最好的选择,但你可以通过查看这里列出的优缺点自行决定。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接