首页 > 数据库 > java通过JDBC连接oracle

java通过JDBC连接oracle

2011年7月18日 亲亲宝宝 发表评论 阅读评论

Oracle provides drivers that enable users to make JDBC connections to Oracle databases. The two most common methods of connecting to Oracle databases via JDBC are the Oracle Thin JDBC driver and the Oracle OCI JDBC driver.

The Oracle Thin driver requires no software other than the driver jar file. This driver connects to Oracle databases via TCP/IP.

The Oracle OCI (Oracle Call Interface) driver requires Oracle client software to be installed on the user’s machine in order to connect to the database. This driver uses native methods and is platform specific.

The Java classes to connect to Oracle are contained in the Oracle JDBC driver jar file. For recent releases, these are numbered based on the Java version they are compiled for, such as ojdbc14.jar (for Java 1.4), ojdbc15.jar (for Java 1.5), etc. These drivers can be freely downloaded from Oracle’s site (free registration is required).

You can tell the Oracle driver which method you wish to use to connect to the database (OCI or Thin) via the JDBC connection URL. Listed below are some example connection URL formats:

Oracle JDBC Thin Driver Formats

第一种方式:推荐使用服务名连接,Oracle JDBC Thin using a Service Name:

jdbc:oracle:thin:@//<host>:<port>/<service_name>

Example: jdbc:oracle:thin:@//192.168.2.1:1521/XE

第二种方式:适合单机的sid,Oracle JDBC Thin using an SID:

jdbc:oracle:thin:@<host>:<port>:<SID>

Example: jdbc:oracle:thin:192.168.2.1:1521:X01A

Note: Support for SID is being phased out. Oracle recommends that users switch over to using service names.

Oracle JDBC Thin using a TNSName:

jdbc:oracle:thin:@<TNSName>

Example: jdbc:oracle:thin:@GL

Note: Support for TNSNames was added in the driver release 10.2.0.1

Oracle JDBC OCI Driver Format

jdbc:oracle:oci:@<database_name>

Example: jdbc:oracle:oci:@HR

The Oracle JDBC driver provides properties that can be specified when connecting to the database. Listed below are some examples of these properties.

To specify properties in the JDBC connection, you can use a Java Properties object, and pass that object into the JDBC getConnection method. For example:

java.util.Properties info = new java.util.Properties();

info.put(“internal_logon”, “sysdba”);

Connection conn = DriverManager.getConnection (url, info);

Connection Properties

internal_logon: Use this property to connect as a sysoper or sysdba role. When using this property, the user and password properties must be included in the properties object. For example:

Properties props = new Properties();

props.put(“user”, “scott”);

props.put(“password”, “tiger”);

props.put(“internal_logon”, “sysoper”);

Connection conn = DriverManager.getConnection (url, props);

defaultRowPrefetch: Oracle JDBC drivers allow you to set the number of rows to prefetch from the server while the result set is being populated during a query. Prefetching row data into the client reduces the number of round trips to the server. A typical value for this property is 10.

defaultBatchValue: Oracle JDBC drivers allow you to accumulate inserts and updates of prepared statements and send them to the server in batches once it reaches a specified batch value. This feature reduces round trips to the server. Use the value 1 if you don’t want to use this feature.

processEscapes: “false” to disable escape processing for statements (Statement or PreparedStatement) created from this connection. Set this to “false” if you want to avoid many calls to Statement.setEscapeProcessing(false);. This is espcially usefull for PreparedStatement where a call to setEscapeProcessing(false) would have no effect. The default is “true”.

分类: 数据库 标签: 5,350 次阅读
原文链接:http://www.wenhq.com/article/view_707.html
欢迎转载,请注明出处:亲亲宝宝
  1. 2011年8月5日13:10 | #1

    很开心能来到博主的博客哦,支持你

    [回复]

  1. 本文目前尚无任何 trackbacks 和 pingbacks.