`
Vitas_Wang
  • 浏览: 9865 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

java connection to oracle

    博客分类:
  • java
阅读更多
Register the JDBC drivers:
there have two ways:
Class.forName("oracle.jdbc.OracleDriver");//this method is only valid for JDK-compliant Java virtual machines. 
										  //It is not valid for Microsoft Java virtual machines
DriverManager.registerDriver(new oracle.jdbc.OracleDriver());

Open a connection to a database:
										  
1> DriverManager.getConnection(String DB_URL,String DB_USERNAME,String DB_PASSWORD);
Where the URL is of the form:
jdbc:oracle:<drivertype>:@<database>
The following example connects user scott with password tiger to a database with SID orcl through port 1521 of host myhost, using the Thin driver.

Connection conn = DriverManager.getConnection
  ("jdbc:oracle:thin:@myhost:1521:orcl", "scott", "tiger");

2> DriverManager.getConnection(String DB_URL)
where the URL is of the form:
  jdbc:oracle:<drivertype>:<user>/<password>@<database>
If you want to connect with the Thin driver, you must specify the port number and SID. For example, if you want to connect to the database on host myhost that has a TCP/IP listener up on port 1521,
 and the SID (system identifier) is orcl:
Connection conn = DriverManager.getConnection
   ("jdbc:oracle:thin:scott/tiger@myhost:1521:orcl);

3> getConnection(String URL, Properties info);
Where the URL is of the form:
  jdbc:oracle:<drivertype>:@<database>
In addition to the URL, use an object of the standard Java Properties class as input. For example:

java.util.Properties info = new java.util.Properties();
  info.put ("user", "scott");
  info.put ("password","tiger");
  info.put ("defaultRowPrefetch","15");
  getConnection ("jdbc:oracle:oci8:@",info);

Create an instance of the Java class Statement:

1>Statement stmt=Connection.createStatement();
2>The class PreparedStatement is a subclass of Statement, 
but it pre-compiles the SQL statement before executing it.
PreparedStatement stmt=conn.prepareStatement(
                          " SELECT * from Employee WHERE empno=?");
for (int i=0;i<empNumbers.length; i++){

     // pass the array's value that substitutes the question mark
     stmt.setInt(1,employees[i];)
     stmt.executeQuery(sqlQuery);
   }
3>the callableStatement is used for executing stored procedures from java 
CallableStatement stmt = conn.prepareCall("{call changeEmpTitle(?,?)}");

   stmt.setInt(1,7566);
   stmt.setString (2,"Salesman");
   stmt.executeUpdate();
 If a stored procedure returns some values using output parameters, 
 each of the OUT data types has to be registered before the statement is executed  
 CallableStatement stmt = conn.prepareCall(
                    ("{call getEmpTitle(?,?) }");
   stmt.setInt(1, 7566);
   stmt.registerOutParameter(2,Java.sql.Types.VARCHAR);
   stmt.executeQuery();
   String title=stmt.getString(2);
   
ResultSet:
  1> get the values of each field by specifying the relative position of the column from the reuslt set:
	int empNo = rs.getInt(1);
    String eName = rs.getString(2);
	 
  2> use the field name:
	int empNo = rs.getInt("EMPNO");
    String eName = rs.getString("ENAME");
 ResultSetMetaData:
	with the class ResultSetMetaData you can dynamically find out how many columns three are in the result set
as well as their names and data types 	
 String sqlQuery = "select * from Employee";
   ResultSet rs = stmt.executeQuery(query);

   ResultSetMetaData rsMeta = rs.getMetaData();
   int colCount = rsMeta.getColumnCount();

   for (int i = 1; i <= colCount; i++) {
     System.out.println(
         " Column name: " + rsMeta.getColumnName(i) +
         " Column type: " + rsMeta.getColumnTypeName(i));
   }

补充:现在有些连接直接提供的是service_name,而不是sid,这种情况下地URL格式为
jdbc:oracle:<driver_type>:@//<database>:<port>/<service_name>
下面是一段可执行代码:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.sql.Statement;


public class OracleConnectionDemo {
	private final static String DB_URL = "jdbc:oracle:thin:@17.26.66.209:5731:PDS";
	private final static String DB_DRIVER = "oracle.jdbc.driver.OracleDriver";
	private final static String DB_USERNAME = "scott";
	private final static String DB_PASSWORD = "tiger";
	public static void main(String[] args){
		Connection conn = null;
		Statement stmt = null;
		PreparedStatement stmt1 = null;
		ResultSet rs = null;
		ResultSetMetaData reMeta = null;
		String querysql = "select nda_id from test where rownum < 5";
		try{
			//Load the JDBC driver using the method forName()
			Class.forName(DB_DRIVER);
			
			//Obtain the database connection to database
			conn = DriverManager.getConnection(DB_URL, DB_USERNAME, DB_PASSWORD);
			//conn = DriverManager.getConnection(DB_URL1);
			//Create an instance of the java class statement:
			stmt = conn.createStatement();
			rs = stmt.executeQuery(querysql);
			while(rs.next()){
				int nda_id = rs.getInt("nda_id");
				System.out.println(nda_id);
			}
			rs.close();
			stmt1 = conn.prepareStatement("select * from test where nda_id = ?");
			stmt1.setInt(1, 16117);
			rs = stmt1.executeQuery();
			reMeta = rs.getMetaData();
			int columCount = reMeta.getColumnCount();
			for(int i = 1; i <= columCount; i++){
				System.out.print("Column name: " + reMeta.getColumnName(i));
				System.out.println(" Column type: " + reMeta.getColumnTypeName(i));
			}
			while(rs.next()){
				System.out.println(rs.getInt(2));
			}
		} catch(SQLException se){
			System.out.println("SQLError: " + se.getMessage() + "code: " + se.getErrorCode());
		} catch(Exception e){
			System.out.println(e.getMessage());
			e.printStackTrace();
		} finally{
				try {
				rs.close();
				stmt.close();
				conn.close();
			} catch (SQLException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
	}
}

分享到:
评论

相关推荐

    java 连接oracle12c 的jar包

    System.out.println("Connected to Oracle 12c!"); // ... 执行SQL查询和其他操作 ... conn.close(); } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (SQLException e) { e....

    Java連接Oracle數據庫代碼

    在Java编程中,连接Oracle数据库是一项常见的任务,用于读取、写入或处理存储在数据库中的数据。Oracle数据库是企业级应用广泛使用的数据库系统,而Java作为一种多平台支持的编程语言,提供了多种方式来实现与Oracle...

    ORACLE 10G java 驱动包

    Oracle 10G Java驱动包是Oracle数据库与Java应用程序交互的重要组成部分,主要包含两个关键的JAR文件:`classes12.jar` 和 `ojdbc14.jar`。这两个文件为Java开发者提供了连接Oracle 10G数据库的必要工具,使得在Java...

    Using Java JDBC to connect to Oracle.zip_oracle

    Java JDBC (Java Database Connectivity) 是Java平台中用于与数据库交互的标准API,它允许Java应用程序连接到各种数据库,包括Oracle。本教程将详细讲解如何使用Java JDBC来连接Oracle数据库。 首先,确保你已安装...

    java连接oracle数据库jar包ojdbc8

    在Java编程中,连接Oracle数据库通常需要依赖特定的驱动,这就是Oracle JDBC驱动,也被称为ojdbc。在本案例中,我们关注的是ojdbc8.jar,这是Oracle公司为Java 8提供的JDBC驱动程序,用于与Oracle数据库进行通信。...

    java连接mongodb oracle sqlserver2008

    本文将详细阐述如何使用Java连接到MongoDB、Oracle和SQL Server 2008这三种不同的数据库系统。 首先,让我们从MongoDB开始。MongoDB是一种NoSQL数据库,它支持JSON格式的数据存储,适合处理大量非结构化或半结构化...

    java链接oracle数据库

    System.out.println("Connected to Oracle database."); } catch (Exception e) { e.printStackTrace(); } } } ``` 3. **执行SQL语句**:一旦连接建立,你可以通过`Statement`或`PreparedStatement`对象执行...

    java中jdbc连接oracle代码及jar包

    本教程将详细讲解如何在Java项目中使用JDBC连接Oracle数据库,并提供必要的jar包。 首先,我们需要引入Oracle JDBC驱动的jar包。在Java中,Oracle提供了`ojdbc.jar`,通常是`ojdbc6.jar`或`ojdbc7.jar`,具体版本取...

    java 连接oracle代码

    Java连接Oracle数据库主要依赖于Java Database Connectivity (JDBC) API,这是一个Java标准,允许Java程序与各种数据库进行交互。在本示例中,我们将探讨如何使用Java和JDBC驱动程序来建立与Oracle数据库的连接。...

    java连接oracle的jar包

    Java连接Oracle数据库主要依赖于Oracle提供的JDBC驱动,这些驱动是Java应用程序与Oracle数据库之间通信的桥梁。在给定的压缩包文件中,包含了两个重要的JDBC驱动:ojdbc6.jar和ojdbc14.jar。 ojdbc6.jar是Oracle ...

    java编写将oracle表转成xml文件

    你需要引入Oracle的JDBC驱动,例如ojdbc.jar,然后创建一个`java.sql.Connection`对象以建立连接。以下是一个简单的示例: ```java import java.sql.*; public class OracleConnection { public static void main...

    Java导入导出Oracle[文].pdf

    在Java编程环境中,我们经常需要与数据库进行交互,Oracle作为一款广泛应用的关系型数据库管理系统,其数据导入导出功能是数据库管理的重要环节。本文件“Java导入导出Oracle[文].pdf”显然提供了一种利用Java程序来...

    用java代码连接Oracle超级简单

    System.out.println("Connected to Oracle database!"); } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); } ``` 注意:`Class.forName()` ...

    Java读取xml文件中oracle数据库连接

    在Java编程中,读取XML文件并从中获取Oracle数据库连接是一项常见的任务,特别是在需要动态配置数据库连接信息的应用中。XML文件通常被用作配置文件,因为它具有良好的结构和可读性,适合存储像数据库连接这样的配置...

    java中调用oracle

    在Java中连接Oracle数据库,可以使用`java.sql.DriverManager`类的`getConnection()`方法。以下是一个简单的示例: ```java import java.sql.Connection; import java.sql.DriverManager; import java.sql....

    java jdbc连接oracle所需要的jar包

    Java JDBC(Java Database Connectivity)是Java平台中用于与数据库交互的一种技术,它允许Java应用程序连接到各种数据库系统,包括Oracle。在使用Java JDBC连接Oracle数据库时,你需要包含特定的Oracle JDBC驱动...

    java连接oracle数据库实例及所需jar文件

    在Java编程中,连接Oracle数据库是一项常见的任务,特别是在开发企业级应用时。Oracle数据库是世界上最流行的关系型数据库管理系统之一,而Java作为一种多平台支持的编程语言,为与Oracle的交互提供了丰富的工具和库...

    Java_oracle_creat_inset_delete.rar_java 连接oracle_oracle_oracle 操

    1. **建立连接**:在Java程序中,我们通常使用`java.sql.DriverManager`类的`getConnection()`方法来建立与Oracle数据库的连接。例如: ```java import java.sql.Connection; import java.sql.DriverManager; ...

    java通过jdbc连接oracle数据库.doc

    Java通过JDBC连接Oracle数据库是开发中常见的任务,它允许我们与Oracle数据库进行交互,执行SQL语句,处理结果集等。以下是一个详细的步骤指南,以及相关知识点的介绍。 1. **下载Oracle数据库驱动**: Oracle ...

Global site tag (gtag.js) - Google Analytics