国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計 > 正文

J2EE應(yīng)用開發(fā)中與Oracle數(shù)據(jù)庫的連接

2019-11-18 12:39:14
字體:
供稿:網(wǎng)友

  在J2EE應(yīng)用程序開發(fā)中,應(yīng)用程序與數(shù)據(jù)庫連接的建立是我們經(jīng)常碰到的問題之一。在這里我們主要談?wù)勗诒镜貞?yīng)用程序中通過OCI方式、thin方式和JdbcOdbc橋方式連接Oracle數(shù)據(jù)庫,在iplanet application Server 6.5和Sun java System Application Server 7中對Oracle數(shù)據(jù)庫連接池的配置以及應(yīng)用中如何從連接池中獲得連接。
  
  一、本地通過JDBC獲得Oracle數(shù)據(jù)庫連接
  
  通過JDBC獲得Oracle數(shù)據(jù)庫連接,有三種方式:OCI方式、thin方式和JdbcOdbc橋方式。OCI方式依靠于本地的動態(tài)鏈接庫,假如在本地安裝了Oracle數(shù)據(jù)庫客戶端可以采用該方式;而thin方式為純java的數(shù)據(jù)庫連接方式;JdbcOdbc橋方式依靠于本地ODBC數(shù)據(jù)庫源的配置,這種方式一般不太被采用。
  
  1、OCI方式
  
  先在本地安裝Oracle客戶端,安裝完之后,在安裝的路徑中可以找到…/jdbc/lib/classes12.zip文件,我們在環(huán)境變量classpath中設(shè)置classes12.zip所在的路徑。
  
  然后通過以下的數(shù)據(jù)庫連接類,在本地通過OCI方式獲得Oracle數(shù)據(jù)庫連接。
  
  /**
  * 在本地獲得數(shù)據(jù)庫連接
  */
  
  package com.j2ee.db;
  
  import java.util.*;
  import java.sql.*;
  import javax.sql.*;
  import java.io.*;
  import oracle.jdbc.driver.*;
  import javax.naming.*;
  
  /**
  * 通過OCI方式獲得Oracle數(shù)據(jù)庫連接
  */
  public class DbConnection
  {
  final static String sDBDriver =
  "oracle.jdbc.driver.OracleDriver";
  final static String sConnStr =
  "jdbc:oracle:oci8:sr/sr@ora199";
  
  /**
  *
  */
  public DbConnection()
  {
  }
  
  /**
  * 獲得Oracle數(shù)據(jù)庫連接
  */
  public java.sql.Connection connectDbByOci()
  {
  java.sql.Connection conn=null;
  try
  {
  Class.forName(sDBDriver);
  conn = DriverManager.getConnection(sConnStr);
  }
  catch (Exception e)
  {
  System.out.  }
  return conn;
  }
  }
  
  在連接字符串 "jdbc:oracle:oci8:sr/sr@ora199" 中,"sr/sr"為Oracle用戶的用戶名和口令,"ora199"為數(shù)據(jù)庫服務(wù)名。
  
  2、thin方式
  
  先到Oracle技術(shù)網(wǎng)(http://otn.oracle.com/global/cn/software/tech/java/sqlj_jdbc/index.Html)下載Oracle JDBC Drivers,同樣地將下載后的zip文件的路徑設(shè)置在環(huán)境變量classpath。然后通過以下的數(shù)據(jù)庫連接類,在本地通過thin方式獲得Oracle數(shù)據(jù)庫連接。
  
  /**
  * 在本地獲得數(shù)據(jù)庫連接
  */
  
  package com.j2ee.db;
  
  import java.util.*;
  import java.sql.*;
  import javax.sql.*;
  import java.io.*;
  import oracle.jdbc.driver.*;
  import javax.naming.*;
  
  /**
  * 通過thin方式獲得Oracle數(shù)據(jù)庫連接
  */
  public class DbConnection
  {
  private String sConnStr = "";
  
  /**
  * 缺省構(gòu)造器
  */
  public DbConnection()
  {
  sConnStr = "jdbc:oracle:thin:
  @10.1.4.199:1521:ora199";
  }
  
  /**
  * @param ip,serviceName
  */
  public DbConnection(String ip,String serviceName)
  {
  sConnStr = "jdbc:oracle:thin:
  @"+ip+":1521:"+serviceName;
  }
  
  /**
  * 通過thin方式獲得Oracle數(shù)據(jù)庫的連接.
  */
  public java.sql.Connection connectDbByThin()
  {
  java.sql.Connection conn=null;
  try
  {
  Class.forName(sDBDriver);
  conn = DriverManager.getConnection
  (sConnStr,"sr","sr");
  }
  catch (Exception e)
  {
  System.out.println
  ("ERROR:"+e.getMessage());
  }
  return conn;
  }
  
  /**
  * 通過thin方式獲得Oracle數(shù)據(jù)庫的連接.
  * @param userId,pass
Word
  */
  public java.sql.Connection connectByJdbc
  (String userId,String password)
  {
  java.sql.Connection conn=null;
  try
  {
  Class.forName(sDBDriver);
  conn = DriverManager.getConnection
  (sConnStr,userId,password);
  }
  catch (Exception e)
  {
  System.out.println
  ("ERROR:"+e.getMessage());
  }
  return conn;
  }
  }
  
  這種方式運用起來比較靈活,簡單,具有較強的移植性和適用性。只要注重連接字符串"jdbc:oracle:thin:@10.1.4.199:1521:ora199"中具體參數(shù)的設(shè)置即可。
  
  3、JdbcOdbc橋方式
  
  先通過治理工具中的數(shù)據(jù)源來添加本地對Oracle數(shù)據(jù)庫的連接,然后通過以下的數(shù)據(jù)庫連接類,在本地通過JdbcOdbc橋方式獲得Oracle數(shù)據(jù)庫連接。
  
  /**
  * 在本地獲得數(shù)據(jù)庫連接
  */
  
  package com.j2ee.db;
  
  import java.util.*;
  import java.sql.*;
  import javax.sql.*;
  import java.io.*;
  import oracle.jdbc.driver.*;
  import javax.naming.*;
  
  /**
  * 通過JdbcOdbc橋方式獲得Oracle數(shù)據(jù)庫連接
  */
  public class DbConnection
  {
  /**
  *
  */
  public DbConnection()
  {
  }
  
  /**
  * 獲得Oracle數(shù)據(jù)庫連接
  */
  public java.sql.Connection
  connectDbByJdbcOdbcBridge()
  {
  java.sql.Connection conn=null;
  try
  {
  Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
  con=DriverManager.getConnection
  ("jdbc:odbc:ora199","sr","sr");
  }
  catch (Exception e)
  {
  System.out.println("ERROR:"+e.getMessage());
  }
  return conn;
  }
  }
  
  在getConnection方法中第一個參數(shù)"jdbc:odbc:ora199" 中的"ora199"為本地ODBC數(shù)據(jù)源的數(shù)據(jù)源名稱,第二個參數(shù)和第三個參數(shù)分別為Oracle的用戶名和口令。
  
  二、通過連接池獲得Oracle數(shù)據(jù)庫連接
  
  這部分主要講述在iPlanet Application Server 6.5和Sun Java System Application Server 7中Oracle數(shù)據(jù)庫連接池的配置,以及在應(yīng)用中如何通過連接池獲得數(shù)據(jù)庫的連接。
  
  1、iPlanet Application Server 6.5連接池的配置
  
  先打開iPlanet Application Server 6.5的治理控制臺,選中"database"面板,再選擇"External JDBC Drivers"選項后,點擊"Add…"按鈕,在彈出的對話框中,添加一個名為"ora-type4"的JDBC Driver。
   J2EE應(yīng)用開發(fā)中與Oracle數(shù)據(jù)庫的連接(圖一)
  Driver Classpath:該參數(shù)填寫classes12.zip文件的物理路徑。然后在"External JDBC DataSources"中選擇"Add…",在彈出的對話框中添加一個JNDI名稱為"credit2"的數(shù)據(jù)源。
   J2EE應(yīng)用開發(fā)中與Oracle數(shù)據(jù)庫的連接(圖二)
  DriverType:選擇剛添加好的"ora-type4";
  
  Datasource:ora199,為Oracle數(shù)據(jù)庫服務(wù)名;
  
  Connection Pool Parameters:圖中顯示的是缺省設(shè)置,可以根據(jù)自己環(huán)境情況來更改這些設(shè)置。保存完設(shè)置后,在"DataSource Selection Box"中,選擇剛添加的"credit2"數(shù)據(jù)源,再選擇"Vendor Specific Properties"按鈕。在對話中添加一個URL屬性。
   J2EE應(yīng)用開發(fā)中與Oracle數(shù)據(jù)庫的連接(圖三)
  至此,iPlanet Application Server 6.5中的數(shù)據(jù)庫連接池配置完畢,重起服務(wù)使之生效。
  
  2、Sun Java System Application Server 7連接池的配置
  
  在配置之前將classes12.zip文件置于…/server1/lib目錄下。通過瀏覽器的4848端口打開Sun Java System Application Server 7的治理界面,選擇"server1"->"JDBC"-> "Connection Pools"下的"New…"
   J2EE應(yīng)用開發(fā)中與Oracle數(shù)據(jù)庫的連接(圖四)
  添加一個名稱為"MyConnectionPool"的Oracle數(shù)據(jù)庫連接池。"Next"下一步。
   J2EE應(yīng)用開發(fā)中與Oracle數(shù)據(jù)庫的連接(圖五)
  在"General"中填寫"Datasource Classname"。
   J2EE應(yīng)用開發(fā)中與Oracle數(shù)據(jù)庫的連接(圖六)
  在"Properties"中將不需要的屬性刪除,同時添加"URL"屬性。
  
  "dataSourceName"中填寫Oracle數(shù)據(jù)庫服務(wù)名。
  
  以下連接池的缺省設(shè)置,可以根據(jù)自己環(huán)境的情況作相應(yīng)的調(diào)整。
   J2EE應(yīng)用開發(fā)中與Oracle數(shù)據(jù)庫的連接(圖七)
  選擇"Finish"完成連接池的設(shè)置。
  
  下一步為"MyConnectionPool"連接池創(chuàng)建一個JNDI,以便應(yīng)用程序能夠通過該名稱獲得連接池中的連接。 "server1"->"JDBC"-> "JDBC Resources"下的"New…"
  J2EE應(yīng)用開發(fā)中與Oracle數(shù)據(jù)庫的連接(圖八)
  至此,Sun Java System Application Server7中的數(shù)據(jù)庫連接池配置完畢,重起服務(wù)使之生效。
  
  3、通過連接池獲得連接
  
  以上在i

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 茶陵县| 砀山县| 仲巴县| 中牟县| 大城县| 南漳县| 澄江县| 安国市| 隆化县| 枞阳县| 偏关县| 蒙阴县| 鹤岗市| 洪湖市| 汉阴县| 渑池县| 普洱| 南阳市| 察隅县| 安新县| 随州市| 古田县| 贵定县| 梅州市| 杭锦后旗| 筠连县| 临夏市| 禄丰县| 石阡县| 仪征市| 贺兰县| 鱼台县| 青海省| 喀喇沁旗| 清涧县| 通渭县| 平乡县| 共和县| 海原县| 桐梓县| 浦县|