Weblogic中访问oracle数据库的连接池的配置方法 阅读次数9510 出处 (不详)colin     
 
    [中文JAVA技术网 2002-01-11] 
Weblogic中访问oracle数据库的连接池可以采用三种JDBC方式进行配置 一 在weblogic console中按如下配置 建立connection pool ,并修改startWeblogic.cmd文件 1 weblogic 方式, 使用weblogic的jDriver 属性 值 
URL : jdbc:weblogic:oracle Driver Classes : weblogic.jdbc.oci.Driver Properties (key=value): user=xixi 
password=haha 
server=your_tnsname 
需要安装oracle的客户端 your_tnsname是你在Oracle客户端中配置的指向oracle服务器的本地服务名 startWeblogic.cmd中 Path变量加入.\bin\oci817_8 2 oracle JDBC的thin方式 
属性 值 
URL : jdbc:oracle:thin:@193.0.0.5:1521:ora8 Driver Classes : oracle.jdbc.driver.OracleDriver Properties (key=value): user=xixi 
password=haha 
dll=ocijdbc8 
protocol=thin 
不需要安装oracle的客户端 , ora8为你要连接的数据库的SID startWeblogic.cmd中 Path变量加入.\bin\oci817_8, CLASSPATH中加入$ORACLE_HOME\jdbc\lib\classes12.zip或classes111.zip,使之能找到oracle的JDBC类。 
2 Oracle JDBC的OCI8方式 属性 值 
URL : jdbc:oracle:oci8:@your_tns Driver Classes : oracle.jdbc.driver.OracleDriver Properties (key=value): user=xixi 
password=haha 
dll=ocijdbc8 
protocol=oci8 
your_tns为你在Oracle中配置的指向oracle服务器的本地服务名(即 TNS NAME) 
{取消path中的./bin/oci817_8/ (LINUX下$WL_HOME/lib/linux/ora8.1.6_oci8) LD_LIBRARY_PATH 加入 $ORACLE_HOME/lib } startWeblogic.cmd中 Path变量加入$ORACLE_HOME/bin, CLASSPATH中加入指向$ORACLE_HOME\jdbc\lib\classes12.zip或classes111.zip 需要安装oracle的客户端 ,注意 oracle客户端配置好 oracle的环境变量 NLS_LANG和ORACLE_HOME 
二 在console中注意 在targets页下选中你欲使用的server,即指定在哪些server中可以使用这个connection pool。 三 建立一个数据源,使用这个连接池 检查连接池是否配置成功 重新启动后,在该连接池的monitor页下,查看该连接池的实例是否启动了。 
以上是关于Oracle数据库的连接池连接方式
对于一般的瘦连接,不会用到连接池配置,驱动以及服务配置都在程序中写好,它同样不需要用户安装Oracle客户端,但是因为所有配置在程序中写死,所以灵活性较差。而且由于没有使用连接池技术,所以在数据库负载较大时,效率低下,而且不太可靠。
 
   

解决方案 »

  1.   

    对于连接池方式,使用lookup(JNDI名)的方法连接数据库
    对于瘦连接方式,使用方法如下
      Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
      String url = "jdbc:oracle:thin:@scsunsrv02:1521:evise1";
      con = DriverManager.getConnection(url,"lxt","lxt");
      

  2.   

    1、JDBC-ODBC连接//:SqlServerJdbcOdbc.java
    import java.sql.*;public class SqlServerJdbcOdbc {
    public static void main(String[] args){
      //CheDui是ODBC中的数据源名称,需要自己在控制面板中定义
      String dbUrl = "jdbc:odbc:CheDui";
    Connection con;
    Statement stmt;
    String user;
    ResultSet result=null;

    try{
      //使用JDBC-ODBC桥
    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
    }catch(ClassNotFoundException ex){
    ex.printStackTrace();
    } try{
        //简单的使用,当然数据库中要有Course表
        con = DriverManager.getConnection(dbUrl);          
          stmt=con.createStatement();
            result=stmt.executeQuery("select * from Course");
        while (result.next()){
           String id=result.getString(1);
           System.out.println(id);
          }         
          con.close();
        }catch(SQLException ex){
    System.err.println("SQLException: " + ex.getMessage());
    }
    }
    }
    2、直接连接,要JDBC库//:SqlServerJdbcDirect.java
    import java.sql.*;public class SqlServerJdbcDirect {
    public static void main(String[] args){
      String dbUrl="jdbc:microsoft:sqlserver://tsc:1433;user=sa;password=mdzly109;DatabaseName=CheDui";
    Connection con;
    Statement stmt;
    String user;
    ResultSet result=null;

    try{
      //使用MS提供的JDBC类。需要下载SQL Server的JDBC库。
      Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
    }catch(ClassNotFoundException ex){
    ex.printStackTrace();
    } try{
        //简单的使用,当然数据库中要有Course表
        con = DriverManager.getConnection(dbUrl);          
          stmt=con.createStatement();
            result=stmt.executeQuery("select * from Course");
        while (result.next()){
           String id=result.getString(1);
           System.out.println(id);
          }         
          con.close();
        }catch(SQLException ex){
    System.err.println("SQLException: " + ex.getMessage());
    }
    }
    }3、直接连接,不要JDBC库//:SqlServerJdbcDirectNoJar.java
    import java.sql.*;public class SqlServerJdbcDirectNoJar {
    public static void main(String[] args){
      //所谓直接连接,实际上还是使用了ODBC,只不过不用设ODBC数据源了
      //注意,写法和下行的差异。database=CheDui不能改成DatabaseName=CheDui!!!
       String dbUrl="jdbc:odbc:driver={SQL Server};SERVER=tsc;uid=sa;pwd=mdzly109;database=CheDui";
    //String dbUrl="jdbc:microsoft:sqlserver://tsc:1433;user=sa;password=mdzly109;DatabaseName=CheDui";
    Connection con;
    Statement stmt;
    String user;
    ResultSet result=null;

    try{
    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
    }catch(ClassNotFoundException ex){
    ex.printStackTrace();
    } try{
        con = DriverManager.getConnection(dbUrl);               
          stmt=con.createStatement();
            result=stmt.executeQuery("select * from RenYuan");
        while (result.next()){
           String id=result.getString(2);
           System.out.println(id);
          }                  
          con.close();
        }catch(SQLException ex){
    System.err.println("SQLException: " + ex.getMessage());
    }
    }
    }
      

  3.   

    也就是所谓的4种driver,有这方面的资料吗
      

  4.   

    hoxisoft(一切全为你) 写得太好了,茅塞顿开
      

  5.   

    2、直接连接,要JDBC库 用的比较多
      

  6.   

    直接连接,不要JDBC库。
    是不是在win2k下写好程序,直接放到linux下,也
    可以运行?数据库连接正常?