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

时间:2011-02-01 14:54:16

标签: oracle jdbc java-ee

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

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

据我所知,如果有的话,我们将在高负载和每小时一些存储过程调用时每分钟获得1000个SELECT。

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

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

3 个答案:

答案 0 :(得分:6)

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

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

有关详细信息,请参阅JDBC Developer's Guide:
http://download.oracle.com/docs/cd/B28359_01/java.111/b31224/overvw.htm#BABCHIGI

最重要的一句话可能是:

  

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

答案 1 :(得分:3)

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

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

答案 2 :(得分:1)

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