jdbc-oracle

博客介绍了Java通过OCI、THIN和ODBC桥三种方式连接Oracle数据库。给出了每种方式的代码示例,包括数据库连接和执行SQL查询获取结果集的方法,还展示了如何遍历结果集输出数据,同时处理了可能出现的异常。

1  oci  方式 ----------------------ORACLE817

import java.util.*;
import java.sql.*;
import javax.sql.*;
import java.io.*;
import oracle.jdbc.driver.*;
import javax.naming.*;

/**
* 通过OCI方式获得Oracle数据库连接,C:/dev/oracle/ora81/jdbc/lib/class12.zip 更名class12.jar 放到PATH 里,然后工程指定路径*/
public class  oracleoci
{
final static String sDBDriver = "oracle.jdbc.driver.OracleDriver";
final static String sConnStr = "jdbc:oracle:oci8:muzi/1113@mao1";

//连接 oracle 8.17 & oracle 9i 都OK!
public oracleoci() { }

// 获得Oracle数据库连接


public  java.sql.Connection onnecDbByOci()
{
java.sql.Connection conn=null;
try {
Class.forName(sDBDriver);
conn = DriverManager.getConnection(sConnStr);
}

catch (Exception e)
{
System.out.println("ERROR:"+e.getMessage());
}
return conn;
}
public  ResultSet  executeSql(String sqlstr)
   {
     Connection conn;
     Statement stmt;

      try
      {
        conn=onnecDbByOci();
        stmt=conn.createStatement();
        ResultSet  rs=stmt.executeQuery(sqlstr);

        return rs;
      }
      catch(SQLException e)
      {
        System.out.print("获取数据集时出现错误");
      }
      return null;
   }

   public static void main(String[] args)
   {
     ResultSet  rs1;
     oracleoci sql1=new oracleoci();
     rs1=sql1.executeSql("select  id, name from  userinfo");
     try
     {
       while(rs1.next())
       {
         System.out.println(rs1.getString("id")+"  姓名:"+rs1.getString("name"));
       }
     }
     catch(Exception e)
     {
        System.out.println(e.getMessage());
     }
    }
 }

--------------------------------------

THIN 方式

/**
* 通过thin方式获得Oracle数据库连接,C:/dev/oracle/ora81/jdbc/lib/class12.zip 更名class12.jar 放到PATH 里,然后工程制定
*/

import java.util.*;
import java.sql.*;
import javax.sql.*;
import java.io.*;
import oracle.jdbc.driver.*;
import javax.naming.*;

/**

* 通过thin方式获得Oracle数据库连接

*/
public class  oraclethin
{

// 获得Oracle数据库连接 sConnStr = "jdbc:oracle:thin:@"+ip+":1521:"+serviceName;

public  Connection oraclethincon(String  ip,String  servicename,String user,String pwd)
{
String connstr="jdbc:oracle:thin:@"+ip+":1521:"+servicename;
java.sql.Connection conn=null;
try {
Class.forName( "oracle.jdbc.driver.OracleDriver");

conn=DriverManager.getConnection(connstr,user,pwd);
}

catch (Exception e)
{
System.out.println("ERROR:"+e.getMessage());
}
return conn;
}


public  ResultSet  executeSql(String sqlstr)
   {
     Connection conn;
     Statement stmt;

      try
      {
        conn=oraclethincon("127.0.0.1","mao1","muzi","1113");
        stmt=conn.createStatement();
        ResultSet  rs=stmt.executeQuery(sqlstr);

        return rs;
      }
      catch(SQLException e)
      {
        System.out.print("获取数据集时出现错误");
      }
      return null;
   }

   public static void main(String[] args)
   {
     ResultSet  rs1;
     oraclethin sql1=new oraclethin();
     rs1=sql1.executeSql("select  id, name from  userinfo");
     try
     {
       while(rs1.next())
       {
         System.out.println(rs1.getString("id")+"  姓名:"+rs1.getString("name"));
       }
     }
     catch(Exception e)
     {
        System.out.println(e.getMessage());
     }
    }
 }

------------ODBC桥

 //odbc
import java.util.*;
import java.sql.*;
import javax.sql.*;
import java.io.*;
import oracle.jdbc.driver.*;
import  sun.jdbc.odbc.JdbcOdbcDriver;
import javax.naming.*;

/**

* 通过thin方式获得Oracle数据库连接

*/
public class  oracleodbc
{

// 获得Oracle数据库连接 sConnStr = "jdbc:oracle:thin:@"+ip+":1521:"+serviceName;

public  Connection oraclethincon(String  odbcname,String user,String pwd)
{
     java.sql.Connection conn=null;

try {
    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
    conn=DriverManager.getConnection("jdbc:odbc:"+odbcname,user,pwd);
}

catch (Exception e)
{
System.out.println("ERROR:"+e.getMessage());
}
return conn;
}


public  ResultSet  executeSql(String sqlstr)
   {
     Connection conn;
     Statement stmt;

      try
      {
        conn=oraclethincon("mao1odbc","muzi","1113");
        stmt=conn.createStatement();
        ResultSet  rs=stmt.executeQuery(sqlstr);

        return rs;
      }
      catch(SQLException e)
      {
        System.out.print("获取数据集时出现错误");
      }
      return null;
   }

   public static void main(String[] args)
   {
     ResultSet  rs1;
     oracleodbc sql1=new    oracleodbc();
     rs1=sql1.executeSql("select  id, name from  userinfo");
     try
     {
       while(rs1.next())
       {
         System.out.println(rs1.getString("id")+"  姓名:"+rs1.getString("name"));
       }
     }
     catch(Exception e)
     {
        System.out.println(e.getMessage());
     }
    }
 }

/*  oci

Class.forName("oracle.jdbc.driver.OracleDriver");
conn = DriverManager.getConnection("jdbc:oracle:oci8:muzi/1113@mao1");

thin

Class.forName( "oracle.jdbc.driver.OracleDriver");

conn=DriverManager.getConnection("jdbc:oracle:thin:@"+ip+":1521:"+servicename,user,pwd);

odbc

 Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
    conn=DriverManager.getConnection("jdbc:odbc:"+odbcname,user,pwd);

*/

要让 Pinpoint Oracle JDBC Driver Plugin 支持 ojdbc6,需要进行以下步骤: 1. 在 Pinpoint 的安装目录下创建 `plugins` 目录。 2. 下载 Pinpoint Oracle JDBC Driver Plugin 的源代码,并将 `pinpoint-oracle-jdbc-driver-plugin-xxx.jar` 文件放置在 `plugins` 目录中。 3. 打开 `plugins` 目录下的 `pinpoint-oracle-jdbc-driver-plugin-xxx.jar` 文件,将其中的 `pinpoint.config` 文件解压到任意目录中。 4. 在 `pinpoint.config` 文件中,指定使用 ojdbc6 驱动。例如: ``` profiler.jdbc.driver.class.name=oracle.jdbc.driver.OracleDriver profiler.jdbc.driver.path=/path/to/ojdbc6.jar ``` 其中 `/path/to/ojdbc6.jar` 是 ojdbc6.jar 文件的路径。 5. 将修改后的 `pinpoint.config` 文件重新打包到 `pinpoint-oracle-jdbc-driver-plugin-xxx.jar` 文件中。 6. 启动 Pinpoint 代理程序,并指定使用 `plugins` 目录中的插件: ``` java -javaagent:/path/to/pinpoint-agent/pinpoint-bootstrap.jar \ -Dpinpoint.agentId=your_agent_id \ -Dpinpoint.applicationName=your_application_name \ -Dpinpoint.plugin.include=com.navercorp.pinpoint.plugin.jdbc.oracle.OracleDriverPlugin \ -Dpinpoint.plugin.include=com.navercorp.pinpoint.plugin.jdbc.oracle.OraclePreparedStatementPlugin \ -Dpinpoint.plugin.include=com.navercorp.pinpoint.plugin.jdbc.oracle.OracleCallableStatementPlugin \ -Dpinpoint.plugin.include=com.navercorp.pinpoint.plugin.jdbc.oracle.OracleStatementPlugin \ -Dpinpoint.plugin.include=com.navercorp.pinpoint.plugin.jdbc.oracle.OracleDataSourcePlugin \ -Dpinpoint.plugin.include=com.navercorp.pinpoint.plugin.jdbc.oracle.OracleConnectionPlugin \ -Dpinpoint.plugin.include=com.navercorp.pinpoint.plugin.jdbc.oracle.OracleResultSetPlugin \ -Dpinpoint.plugin.include=com.navercorp.pinpoint.plugin.jdbc.oracle.OracleJdbcUrlPlugin \ -Dpinpoint.plugin.include=com.navercorp.pinpoint.plugin.jdbc.oracle.OracleJdbcUrlParserPlugin \ -Dpinpoint.plugin.include=com.navercorp.pinpoint.plugin.jdbc.oracle.OraclePreparedStatementBindingMethodFilter \ -Dpinpoint.plugin.include=com.navercorp.pinpoint.plugin.jdbc.oracle.OracleCallableStatementBindingMethodFilter \ -Dpinpoint.plugin.include=com.navercorp.pinpoint.plugin.jdbc.oracle.OracleStatementBindingMethodFilter \ -Dpinpoint.plugin.include=com.navercorp.pinpoint.plugin.jdbc.oracle.OraclePreparedStatementExecuteQueryMethodFilter \ -Dpinpoint.plugin.include=com.navercorp.pinpoint.plugin.jdbc.oracle.OracleCallableStatementExecuteQueryMethodFilter \ -Dpinpoint.plugin.include=com.navercorp.pinpoint.plugin.jdbc.oracle.OracleStatementExecuteQueryMethodFilter \ -Dpinpoint.plugin.include=com.navercorp.pinpoint.plugin.jdbc.oracle.OraclePreparedStatementExecuteUpdateMethodFilter \ -Dpinpoint.plugin.include=com.navercorp.pinpoint.plugin.jdbc.oracle.OracleCallableStatementExecuteUpdateMethodFilter \ -Dpinpoint.plugin.include=com.navercorp.pinpoint.plugin.jdbc.oracle.OracleStatementExecuteUpdateMethodFilter \ -Dpinpoint.plugin.include=com.navercorp.pinpoint.plugin.jdbc.oracle.OraclePreparedStatementExecuteMethodFilter \ -Dpinpoint.plugin.include=com.navercorp.pinpoint.plugin.jdbc.oracle.OracleCallableStatementExecuteMethodFilter \ -Dpinpoint.plugin.include=com.navercorp.pinpoint.plugin.jdbc.oracle.OracleStatementExecuteMethodFilter \ -Dpinpoint.plugin.include=com.navercorp.pinpoint.plugin.jdbc.oracle.OracleConnectionCreateStatementMethodFilter \ -Dpinpoint.plugin.include=com.navercorp.pinpoint.plugin.jdbc.oracle.OracleConnectionPrepareStatementMethodFilter \ -Dpinpoint.plugin.include=com.navercorp.pinpoint.plugin.jdbc.oracle.OracleDataSourceGetConnectionMethodFilter \ -Dpinpoint.plugin.include=com.navercorp.pinpoint.plugin.jdbc.oracle.OracleResultSetNextMethodFilter \ -Dpinpoint.plugin.include=com.navercorp.pinpoint.bootstrap.plugin.ProfilerPlugin \ -Dpinpoint.plugin.include=com.navercorp.pinpoint.bootstrap.plugin.transformer.PinpointClassFileTransformer \ -Dpinpoint.agent.plugins=/path/to/pinpoint-agent/plugins ``` 其中 `/path/to/pinpoint-agent` 是 Pinpoint 代理程序所在的路径,`your_agent_id` 和 `your_application_name` 分别是您为应用程序指定的代理 ID 和应用程序名称。 7. 重启应用程序,使配置生效。 这样就可以让 Pinpoint Oracle JDBC Driver Plugin 支持 ojdbc6 驱动了。注意,在使用 Pinpoint 插件时,需要启用 Pinpoint 代理程序,并将插件添加到 JVM 参数中。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值