为Linux应用程序服务器选择Oracle JDBC驱动程序

时间:2012-02-22 16:02:03

标签: oracle jdbc

新手问题在这里......我需要选择一个JDBC驱动程序,将应用程序服务器Java程序连接到另一台服务器上的Oracle 11G数据库。两台服务器都是Linux CentOS,它们在物理上彼此相邻,并通过交叉连接以太网电缆连接。我不是在做Oracle RAC。

Oracle的网站列出了可用的选项:

http://www.oracle.com/technetwork/database/enterprise-edition/jdbc-112010-090769.html

作为参考,这里有类似的帖子:

Which JDBC driver type should I use for accessing an Oracle Database?

我的目标更具体:在以下(JDK 1.6)驱动程序中选择哪一个?

ojdbc6.jar (Classes for use with JDK 1.6. It contains the JDBC driver classes 
            except classes for NLS support in Oracle Object and Collection types)
ojdbc6_g.jar (Same as ojdbc6.jar except compiled with "javac -g" and contains
              tracing code)
ojdbc6dms.jar (Same as ojdbc6.jar, except that it contains instrumentation to 
               support DMS and limited java.util.logging calls)
ojdbc6dms_g.jar (Same as ojdbc6_g.jar except that it contains instrumentation to 
                 support DMS)

Q1:这些都是Oracle所谓的“JDBC Thin”驱动程序(或者是一些OCI“厚”驱动程序)吗?

Q2:这些都是Type 4的驱动程序吗?

问题3:这些都是免费的(假设我已经购买了Oracle 11G数据库许可证)吗?

问题4:假设编译时间不是问题,不会优先考虑所有_g.tar文件,特别是因为可以关闭-g编译选项(例如对调试有用)(例如提高生产编译代码的速度)?或者,当我去生产时,我应该将驱动程序切换到非_g文件(例如用ojdbc.jar替换ojdbc_g.jar)?

问题5:我甚至不确定NLS,Oracle对象和集合类型或DMS是指什么。关于何时支持这些概念的驱动程序有用的任何建议都将非常感激。

1 个答案:

答案 0 :(得分:2)

A1。是。 JDBC Thin。 OCI版本与Instant客户端相关,并且是特定于平台的。

A2。是。这些是与平台无关的,只是即插即用。

A3。是。尽管没有DB许可证,您仍可以使用它们。事实上,您同意OTN许可下载它们:)

A4。 _g在开发时非常有用。否则,留在第一个。

A5。 NLS指的是国际化支持。意味着NLS支持对象和集合的类不存在,但这些仅用于关于客户端和数据库之间的某种数据的非常具体的要求。 DMS指Dynamic Monitoring Metrics,这些也非常具体(不鼓励使用驱动程序)