ORACLE JDBC : DriverManager or OracleDataSource

标签 oracle jdbc oracle11g

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

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

在那些散列的单词('...')被正确填充的地方,它们(变体)看起来像
  • ods=new oracle.jdbc.pool.OracleDataSource();
    ods.setPassword(Datenbankpasswort);
    ods.setUser(Datenbankuser);
    ods.setURL(DBURL);
    dbconn=ods.getConnection;
  • java.sql.DriverManager.registerDriver(new oracle.jdbc.OracleDriver());
    dbconn=java.sql.DriverManager.getConnection(DBURL,Datenbankuser,Datenbankpasswort);

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

    最佳答案

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

    你可以找到 DataSource 的一些实现更强大,连接池和可重用:ConnectionPoolDataSource
    DataSource通常配置并注册到 JNDI 树中。
    通常,应用程序/Web 服务器如 Tomcat提供配置(和共享)数据源的能力。

    关于ORACLE JDBC : DriverManager or OracleDataSource,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12088068/

    相关文章:

    java - 是否有用于 Spring JDBCTemplate 代码生成的 Eclipse 插件?

    oracle - 如何在 PL/SQL Developer 中轻松检查函数的返回值

    java - 关于 Oracle 教程拼写错误的确认

    sql-server - 同步框架: Oracle/SQLServer

    oracle - 在 Oracle Apex 中创建手动链接

    oracle - 清除屏幕 - Oracle SQL Developer 快捷方式?

    java - 将 SET 语句与普通语句组合

    java - 单条数据库记录插入失败是否需要回滚?

    database - 两个 Oracle 数据库实例之间的主要性能差异

    stored-procedures - 使用IF和THEN在Oracle 11g pl/sql中创建存储过程