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

我应该使用哪种JDBC驱动程序类型访问Oracle数据库?,oracle,jdbc,jakarta-ee,Oracle,Jdbc,Jakarta Ee,我们正在AIX上的Tomcat Web服务器中运行J2EE应用程序 我们需要访问Oracle数据库的一些视图和存储过程。这个oracle数据库不是我们的应用程序所基于的数据库,而是我们必须与之通信的外部系统 据我所知,从现在开始,我们将在高负载下每分钟进行大约1000次选择,并且每小时进行一些存储过程调用(如果有的话) 在这种情况下,哪种JDBC驱动程序类型最适合使用 据我所知,Type4似乎是一种可行的方法,但我还没有找到Oracle或其他可靠来源对此的明确声明。Type4似乎是一种可行的方法

我们正在AIX上的Tomcat Web服务器中运行J2EE应用程序

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

据我所知,从现在开始,我们将在高负载下每分钟进行大约1000次选择,并且每小时进行一些存储过程调用(如果有的话)

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


据我所知,Type4似乎是一种可行的方法,但我还没有找到Oracle或其他可靠来源对此的明确声明。

Type4似乎是一种可行的方法,但您可以通过查看优缺点来决定自己。

Type4(“瘦”)驱动程序是Oracle推荐的驱动程序

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

有关详细信息,请参阅JDBC开发人员指南:

最重要的一句话可能是:

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


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

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

  • 谢谢你的回答!你能给我发一个链接或者给我一个正确的方向吗?因为老实说,如果不是因为我的客户怀疑我,我已经选择了第四种,所以我需要一些东西来证明。太棒了!这正是我需要的。非常感谢你!