亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? j2ee應用中與oracle數據庫的連接.txt

?? 本文詳細介紹了在J2EE中各種與Oracle數據庫連接的方法
?? TXT
字號:
J2EE應用中與Oracle數據庫的連接(轉)

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

在J2EE應用程序開發中,應用程序與數據庫連接的建立是我們經常遇到的問題之一。在這里我主要談談在本地應用程序中通過OCI方式、thin方式和JdbcOdbc橋方式連接Oracle數據庫,在iPlanet Application Server 6.5和Sun Java System Application Server 7中對Oracle數據庫連接池的配置以及應用中如何從連接池中獲得連接 

一、本地通過JDBC獲得Oracle數據庫連接 

通過JDBC獲得Oracle數據庫連接,有三種方式:OCI方式、thin方式和JdbcOdbc橋方式。OCI方式依賴于本地的動態鏈接庫,如果在本地安裝了Oracle數據庫客戶端可以采用該方式;而thin方式為純java的數據庫連接方式;JdbcOdbc橋方式依賴于本地ODBC數據庫源的配置,這種方式一般不太被采用。 

1、OCI方式 

先在本地安裝Oracle客戶端,安裝完之后,在安裝的路徑中可以找到…/jdbc/lib/classes12.zip文件,我們在環境變量classpath中設置classes12.zip所在的路徑。 

然后通過以下的數據庫連接類,在本地通過OCI方式獲得Oracle數據庫連接 

/** 
* 在本地獲得數據庫連接 
*/ 

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數據庫連接 
*/ 
public class DbConnection 
{ 
final static String sDBDriver = "oracle.jdbc.driver.OracleDriver"; 
final static String sConnStr = "jdbc:oracle:oci8:sr/sr@ora199"; 

/** 
* 
*/ 
public DbConnection() 
{ 
} 

/** 
* 獲得Oracle數據庫連接 
*/ 
public java.sql.Connection connectDbByOci() 
{ 
java.sql.Connection conn=null; 
try 
{ 
Class.forName(sDBDriver); 
conn = DriverManager.getConnection(sConnStr); 
} 
catch (Exception e) 
{ 
System.out.println("ERROR:"+e.getMessage()); 
} 
return conn; 
} 
} 
在連接字符串 "jdbc:oracle:oci8:sr/sr@ora199" 中,"sr/sr"為Oracle用戶的用戶名和口令,"ora199"為數據庫服務名。 

2、thin方式 

先到Oracle技術網(http://otn.oracle.com/global/cn/software/tech/java/sqlj_jdbc/index.html)下載Oracle JDBC Drivers,同樣地將下載后的zip文件的路徑設置在環境變量classpath。 

然后通過以下的數據庫連接類,在本地通過thin方式獲得Oracle數據庫連接。 

/** 
* 在本地獲得數據庫連接 
*/ 

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數據庫連接 
*/ 
public class DbConnection 
{ 
private String sConnStr = ""; 

/** 
* 缺省構造器 
*/ 
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數據庫的連接. 
*/ 
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數據庫的連接. 
* @param userId,password 
*/ 
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"中具體參數的設置即可 

3、JdbcOdbc橋方式 

先通過管理工具中的數據源來添加本地對Oracle數據庫的連接,然后通過以下的數據庫連接類,在本地通過JdbcOdbc橋方式獲得Oracle數據庫連接。 

/** 
* 在本地獲得數據庫連接 
*/ 

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數據庫連接 
*/ 
public class DbConnection 
{ 
/** 
* 
*/ 
public DbConnection() 
{ 
} 

/** 
* 獲得Oracle數據庫連接 
*/ 
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方法中第一個參數"jdbc:odbc:ora199" 中的"ora199"為本地ODBC數據源的數據源名稱,第二個參數和第三個參數分別為Oracle的用戶名和口令。 

二、通過連接池獲得Oracle數據庫連接 

這部分主要講述在iPlanet Application Server 6.5和Sun Java System Application Server 7中Oracle數據庫連接池的配置,以及在應用中如何通過連接池獲得數據庫的連接。 

1、iPlanet Application Server 6.5連接池的配置 

先打開iPlanet Application Server 6.5的管理控制臺,選中"database"面板,再選擇"External JDBC Drivers"選項后,點擊"Add…"按鈕,在彈出的對話框中,添加一個名為"ora-type4"的JDBC Driver。 


Driver Classpath:該參數填寫classes12.zip文件的物理路徑。 

然后在"External JDBC DataSources"中選擇"Add…",在彈出的對話框中添加一個JNDI名稱為"credit2"的數據源。 


DriverType:選擇剛添加好的"ora-type4"; 

Datasource:ora199,為Oracle數據庫服務名; 

Datasource:ora199,為Oracle數據庫服務名; 

Connection Pool Parameters:圖中顯示的是缺省設置,可以根據自己環境情況來更改這些設置。 

保存完設置后,在"DataSource Selection Box"中,選擇剛添加的"credit2"數據源,再選擇"Vendor Specific Properties"按鈕。在對話中添加一個URL屬性。 


至此,iPlanet Application Server 6.5中的數據庫連接池配置完畢,重起服務使之生效。 

2、Sun Java System Application Server 7連接池的配置 

在配置之前將classes12.zip文件置于…/server1/lib目錄下。通過瀏覽器的4848端口打開Sun Java System Application Server 7的管理界面,選擇"server1"->"JDBC"-> "Connection Pools"下的"New…" 


添加一個名稱為"MyConnectionPool"的Oracle數據庫連接池。"Next"下一步。 


在"General"中填寫"Datasource Classname"。 


在"Properties"中將不需要的屬性刪除,同時添加"URL"屬性。 

"dataSourceName"中填寫Oracle數據庫服務名。 

以下連接池的缺省設置,可以根據自己環境的情況作相應的調整。 


選擇"Finish"完成連接池的設置。 

下一步為"MyConnectionPool"連接池創建一個JNDI,以便應用程序能夠通過該名稱獲得連接池中的連接。 "server1"->"JDBC"-> "JDBC Resources"下的"New…" 


至此,Sun Java System Application Server7中的數據庫連接池配置完畢,重起服務使之生效。 

3、通過連接池獲得連接 

以上在iPlanet Application Server 6.5和Sun Java System Application Server7中配置的連接池都可以通過以下的數據庫連接類,從連接池中獲得Oracle數據庫連接。 

/** 
* 從連接池中獲得數據庫連接 
*/ 

package com.j2ee.db; 

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

/** 
* 通過連接池方式獲得Oracle數據庫連接 
*/ 
public class DbConnection 
{ 
/** 
* 
*/ 
public DbConnection() 
{ 
} 

/** 
* 獲得Oracle數據庫連接 
*/ 
public java.sql.Connection connectDbByConnectionPool() 
{ 
java.sql.Connection conn=null; 
try 
{ 
Context ctx = new InitialContext(); 
DataSource ds = (DataSource)ctx.lookup("jdbc/credit2"); 
conn=ds.getConnection(); 
} 
catch (Exception e) 
{ 
System.out.println("ERROR:"+e.getMessage()); 
} 
return conn; 
} 
} 
4、使用連接池的優點使用連接池的優點主要體現在兩個方面:對數據庫的連接統一進行配置、管理、監控,以及對數據庫連接池的參數進行優化調整,<br>同時對應用中沒有關閉或其他原因造成沒有關閉的數據庫連接由連接池統一進行管理。便于應用的移植和后端數據庫的切換,<br>因為在應用中通過統一的JNDI獲得數據庫的連接,而具體連接的是哪一臺機器上的數據庫與應用無關。

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品国产麻豆免费人成网站| 亚洲精品日韩综合观看成人91| 一区二区三区日韩在线观看| 成人黄色综合网站| 日韩精品最新网址| 精品一区二区免费在线观看| 3atv在线一区二区三区| 午夜精品成人在线视频| 在线不卡欧美精品一区二区三区| 亚洲电影一级片| 这里是久久伊人| 日本成人中文字幕在线视频| 欧美日韩激情一区二区| 三级在线观看一区二区| 91麻豆精品国产91久久久 | 欧美精三区欧美精三区 | 亚洲欧美日韩国产一区二区三区 | 激情文学综合插| 精品国产麻豆免费人成网站| 国产精品一区二区三区99| 久久久久久久久久久99999| 国产不卡高清在线观看视频| 国产日韩欧美麻豆| 国产精品系列在线播放| 中文字幕一区二区三区不卡在线| 99综合影院在线| 亚洲综合色婷婷| 91精品国产入口| 国产一区二区三区在线观看免费视频| 中文字幕欧美激情一区| 色婷婷av一区二区三区软件| 一区二区三区四区不卡视频| 97久久超碰国产精品| 国产精品久久久久9999吃药| 成人ar影院免费观看视频| 中文字幕一区二区三区不卡 | 欧美大片日本大片免费观看| 国内外成人在线| 综合欧美一区二区三区| 欧美日韩不卡在线| 国产一区视频导航| 亚洲靠逼com| 日韩写真欧美这视频| 成人午夜电影久久影院| 亚洲成精国产精品女| 久久蜜臀中文字幕| 欧美色手机在线观看| 国产乱码精品一区二区三区忘忧草 | 亚洲精品视频在线| 91麻豆精品国产91久久久久久久久 | 欧美日本在线观看| 国产精品一区二区果冻传媒| 亚洲日本va在线观看| 欧美三级日韩在线| 国产一区二区视频在线播放| 夜夜揉揉日日人人青青一国产精品| 日韩你懂的在线观看| 色噜噜狠狠一区二区三区果冻| 美女脱光内衣内裤视频久久网站 | 国产99久久久国产精品免费看 | 亚洲欧美日韩一区二区| 国产天堂亚洲国产碰碰| 欧美日韩免费在线视频| 国产99久久精品| 蜜乳av一区二区| 亚洲综合免费观看高清完整版| 久久久天堂av| 日韩美女视频一区二区在线观看| 日本韩国欧美一区| 国产在线观看一区二区 | 亚洲综合丁香婷婷六月香| 久久久久9999亚洲精品| 欧美一区二视频| 在线观看国产91| 波多野结衣在线一区| 午夜日韩在线观看| 亚洲国产精品久久久久婷婷884| 国产精品成人免费精品自在线观看 | 理论片日本一区| 日韩电影在线观看网站| 性欧美大战久久久久久久久| 中文字幕亚洲精品在线观看| 亚洲精品一区二区三区精华液| 精品视频1区2区3区| 色国产综合视频| 91在线免费播放| 99国产精品久久| www.亚洲人| 91欧美激情一区二区三区成人| 国产成人综合在线播放| 国产精品一区二区在线观看不卡| 久久精品国产在热久久| 免费美女久久99| 蜜桃av一区二区三区电影| 青草国产精品久久久久久| 亚洲午夜一区二区| 天天色综合成人网| 首页欧美精品中文字幕| 天堂蜜桃一区二区三区| 喷白浆一区二区| 婷婷久久综合九色综合绿巨人 | 国产欧美精品一区二区色综合朱莉 | 欧美精品日韩精品| 精品999在线播放| 欧美国产97人人爽人人喊| 亚洲黄色免费网站| 蜜臂av日日欢夜夜爽一区| 风流少妇一区二区| 91福利在线看| 精品国产伦一区二区三区观看方式| 国产精品亲子伦对白| 夜夜精品视频一区二区| 精品无人码麻豆乱码1区2区 | 成人av在线影院| 欧美亚洲综合网| 亚洲精品一线二线三线无人区| 亚洲欧美一区二区三区久本道91| 天天爽夜夜爽夜夜爽精品视频 | 91视视频在线观看入口直接观看www| 欧美日韩高清一区二区不卡| 欧美激情在线观看视频免费| 亚洲高清三级视频| 国产夫妻精品视频| 7777精品伊人久久久大香线蕉经典版下载| 精品成人一区二区三区| 亚洲成av人片在线| 99久久精品免费看| 日韩午夜电影在线观看| 亚洲品质自拍视频| 国产成人丝袜美腿| 欧美一区二区福利在线| 亚洲日本中文字幕区| 激情五月婷婷综合| 欧美日韩aaa| 有坂深雪av一区二区精品| 成人激情免费电影网址| 精品少妇一区二区三区在线播放| 一区二区三区欧美日韩| 粉嫩av一区二区三区在线播放 | 中文字幕在线不卡| 激情小说欧美图片| 欧美一区二区三区影视| 亚洲精品大片www| 北条麻妃一区二区三区| 久久久青草青青国产亚洲免观| 日本不卡不码高清免费观看| 欧美日韩中文精品| 亚洲欧美视频在线观看| 成人妖精视频yjsp地址| 久久久久久日产精品| 美腿丝袜亚洲色图| 欧美猛男超大videosgay| 亚洲精品网站在线观看| voyeur盗摄精品| 国产精品福利在线播放| 成人毛片视频在线观看| 国产三级精品三级| 国产高清成人在线| 国产午夜精品一区二区三区四区| 经典三级在线一区| 精品卡一卡二卡三卡四在线| 蜜臀av亚洲一区中文字幕| 欧美一区二区三区在线电影| 日韩国产精品久久久| 欧美一区二区国产| 免费看欧美美女黄的网站| 91精品婷婷国产综合久久| 水野朝阳av一区二区三区| 欧美二区乱c少妇| 午夜精品123| 日韩欧美国产综合在线一区二区三区 | 555www色欧美视频| 青青草原综合久久大伊人精品优势| 欧美人与z0zoxxxx视频| 蜜桃在线一区二区三区| 精品国产91洋老外米糕| 狠狠色综合播放一区二区| 久久久三级国产网站| 成人午夜精品在线| 中文字幕在线观看一区| 在线观看91视频| 婷婷综合另类小说色区| 日韩欧美激情在线| 国产丶欧美丶日本不卡视频| 国产精品久线在线观看| 日本韩国视频一区二区| 日韩国产欧美视频| 久久精品人人爽人人爽| 99久久婷婷国产综合精品| 一区二区三区日韩| 日韩视频永久免费| 懂色av一区二区三区免费观看| 亚洲同性gay激情无套| 欧美喷水一区二区| 国产一级精品在线| 成人免费在线播放视频| 欧美日韩国产在线观看| 国产精品77777| 亚洲天堂av一区| 日韩三级中文字幕|