ORACLE JDBC:DriverManager 或 OracleDataSource

Posted

技术标签:

【中文标题】ORACLE JDBC:DriverManager 或 OracleDataSource【英文标题】:ORACLE JDBC: DriverManager or OracleDataSource 【发布时间】:2012-08-23 08:53:37 【问题描述】:

在尝试使用 jdbc 和匹配版本的 ojdbc6.jar 连接到我的 Oracle 11.1.0.7.0 数据库时,我发现了两个变体。 假设一个字符串 DBURL 的形式

jdbc:oracle:thin:@//#DBSERV#:#DBPORT#/#DBSID#

这些散列词('...')填写正确,它们(变体)看起来像

    ods=new oracle.jdbc.pool.OracleDataSource(); ods.setPassword(数据银行密码); ods.setUser(Datanbankuser); ods.setURL(DBURL); dbconn=ods.getConnection; java.sql.DriverManager.registerDriver(new oracle.jdbc.OracleDriver()); dbconn=java.sql.DriverManager.getConnection(DBURL,Datanbankuser,Datanbankpasswort);

当然是dbconn.getConnection();。 到目前为止,我认为两者都应该工作 - 但我感兴趣哪种方式更好?也许一个已被弃用? 此外,我只能连接变体 1。也许我错过了变体 2 中的某些内容。 我对任何建议都很感兴趣。

【问题讨论】:

【参考方案1】:

DataSource 是提供数据库连接的首选方式。 这种高级对象为您“完成”工作并访问低级,例如DriverManager

您可以找到更强大的DataSource 的一些实现,其中连接被池化和可重用:ConnectionPoolDataSource

DataSource 通常配置并注册到 JNDI 树中。 通常,像Tomcat 这样的应用程序/Web 服务器提供配置(和共享)数据源的能力。

【讨论】:

以上是关于ORACLE JDBC:DriverManager 或 OracleDataSource的主要内容,如果未能解决你的问题,请参考以下文章

jdbc的数据库驱动类DriverManager.getConnection()详解

使用 DriverManager 注册 JDBC 驱动程序都有哪些不同的方法

JDBC具体解释

对JDBC驱动注册--DriverManager.registerDriver和 Class.forName()的理解

jdbc连接oracle语法

Oracle 的jdbc方法