亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

oracle連接java的幾種方法

系統(tǒng) 2428 0

歸結(jié)來說有JDBC、ODBC-JDBC橋接 兩種方法:

一、JDBC連接 Oracle的步驟
(1)裝載并注冊數(shù)據(jù)庫的JDBC驅(qū)動程序

載入JDBC驅(qū)動:

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

注冊JDBC驅(qū)動:

java.sql.DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());

(2)建立與數(shù)據(jù)庫的連接

要建立與數(shù)據(jù)庫的連接,首先要創(chuàng)建指定數(shù)據(jù)庫的URL。連接數(shù)據(jù)庫的URL對象,利用DriverManager 的getConnection方法建立的。數(shù)據(jù)庫URL對象與 網(wǎng)絡(luò)資源 的統(tǒng)一資源定位類似,其構(gòu)成格式如下:

jdbc:subProtocol:subName://hostname:port;DatabaseName=ⅹⅹⅹ

其中:

jdbc表示當(dāng)前通過Java的數(shù)據(jù)庫連接進(jìn)行數(shù)據(jù)庫訪問;

subProtocol表示通過某種驅(qū)動程序支持的數(shù)據(jù)庫連接機(jī)制;

subName表示在當(dāng)前連接機(jī)制下的具體名稱;

hostname表示 主機(jī)名 ;

port表示相應(yīng)的連接端口;

DatabaseName表示要連接的數(shù)據(jù)庫的名稱。

這里以與 Oracle數(shù)據(jù)庫 的連接為例:

連接Oracle 8/8i/9i數(shù)據(jù)庫(用thin模式)

url = jdbc:oracle:thin:@hostip:1521:oracleSID;

注意:hostip指主機(jī)的ip地址,oracleSID指數(shù)據(jù)庫的SID。

再者確定連接數(shù)據(jù)庫的用戶名與密碼,即user和password 的值:

user = “ⅹⅹⅹ “;

password = “ⅹⅹⅹ“;

最后使用如下語句:

Connection con=java.sql.DriverManager.getConnection(url,user,password);

(3)創(chuàng)建Statement對象

例如:

Statement stmt = con.createStatement();

(4)調(diào)用并執(zhí)行SQL語句

例如:

String sql = “select a,b,c from table1";//table1為你所要查詢的表名,a,b,c為所要查詢的字段

ResultSet rs = stmt.executeQuery(sql);

(5)訪問ResultSet中的記錄集并從中取出記錄

例如:

rs.next( );

rs.absolute(4);

String col1=rs.getString(1);

……..

(6)依次關(guān)閉ResultSet、Statement和Connection對象

例如:

rs.close();

stmt.close();

con.close();

?

二、ODBC-JDBC橋接

1 、工作原理:

? ? ?JDBC- ODBC (Open Database Connectivity,ODBC) 橋驅(qū)動 程序由 Sun Merant 公司 聯(lián) 合開 發(fā) , 主要功能是 JDBC API 調(diào) 轉(zhuǎn)換 ODBC API 調(diào) , 然后 ODBC API 調(diào) 針對 應(yīng) 商的 ODBC 驅(qū)動 程序來 訪問 數(shù)據(jù) , 即利用 JDBC- ODBC ODBC 來存 數(shù)據(jù)源 。如下 JDBC-ODBC 應(yīng) 用模式

oracle連接java的幾種方法

?

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 1.1JDBC-ODBC 應(yīng) 用模式
? ? ? ? ?JDBC- ODBC
是一個 JDBC 驅(qū)動 程序 , ODBC 而言 , 它像是通用的 應(yīng) 用程序 , 橋為 所有適用于 ODBC 的數(shù)據(jù) 庫實現(xiàn) JDBC 。它作 sun.jdbc.odbc 實現(xiàn) , 其中包含一個用來 訪問 ODBC 的本地 。由于 ODBC 被廣泛地使用 , 所以 優(yōu) 點是 JDBC 夠訪問 幾乎所有的數(shù)據(jù) 支持 ODBC 2.x, 是當(dāng)前大多數(shù)據(jù) ODBC 驅(qū)動 程序支持的版本。 橋驅(qū)動 程序 Java 應(yīng) 用程序提供了一種把 JDBC 調(diào) 用映射 ODBC 調(diào) 用的方法。因此,需要在客 端機(jī)器上安裝 ODBC 驅(qū)動 JDBC-ODBC JDBCAPI ODBCAPI 提供了一個 梁, 標(biāo) 準(zhǔn)的 JDBC 調(diào) 用翻 對應(yīng) ODBC 調(diào) 用,然后通 ODBC 把它 們發(fā) 送到 ODBC 數(shù)據(jù)源。

2 JDBC-ODBC 所用的配置

? ? sun.jdbc.odbc JDK 一起自 安裝 , 無需特殊配置 Java 2 SDK 類庫 中包含了用于 JDBC-ODBC 驅(qū)動 程序的 , 因此不再需要安裝任何附加包就可以使用。但是 機(jī)需要通 生成數(shù)據(jù)源名 (Data Source Names , DSN) 來配置 ODBC 管理器 DSN 是一個把數(shù)據(jù) 驅(qū)動 程序、一些可 設(shè) 接起來的命名配置。具體配置方法如下 ( Windows XP 環(huán) 境下 ) :
? ? ? ? ?( 1)
控制面板中 , 管理工具 數(shù)據(jù)源 (ODBC)-> 統(tǒng) DSN; (如 2.1

?

?

oracle連接java的幾種方法

?

? 2.1
? ? ? ? ?( 2) ODBC 數(shù)據(jù)源管理器中的 統(tǒng) DSN 中添加系 統(tǒng) 數(shù)據(jù)源 ( 如果沒有找到 數(shù)據(jù)源的 驅(qū)動 程序 需要下 安裝 ) 要注意 , 一定要用系 統(tǒng) (DSN) 數(shù)據(jù)源 , 不能用用 (DSN) 數(shù)據(jù)源 , servlet 統(tǒng) (DSN), 所有的 jsp servlet 程序 , 需要 jdbc- odbc 驅(qū)動 , 都只能用系 統(tǒng) ( DSN) 數(shù)據(jù)源 , 不能用用 ( DSN) 數(shù)據(jù)源。

3 、各數(shù)據(jù) 的不同配置( 解)

? ? 3.1 Access
? ? ? ? ? ?(1)
添加 ->Driver do Microsoft Access(*.mdb)-> 完成

oracle連接java的幾種方法

? ? ? ? ? ?(2) 入數(shù)據(jù)源名稱 yiliangdian_access ? ?

? ? 3 )在數(shù)據(jù) 庫標(biāo)簽 --> 選擇 ,在列表中 選擇 需要 接的數(shù)據(jù) student.

?


oracle連接java的幾種方法

? ? ?

4 單擊 設(shè) 置登 名稱 yiliangdian 與密 123456 與程序中 DriverManager.getConnection("jdbc:odbc: yiliangdian_access "," yiliangdian "," 123456 ") 一致。

oracle連接java的幾種方法

? ? ? 3.2 mysql
? ? ? ? ? ? (1)
access 中的( 1 )。
? ? ? ? ? ?
(2) 選擇 mysql 數(shù)據(jù)源 驅(qū)動 , 如果沒有 需要下 安裝。 -> 完成

?

oracle連接java的幾種方法

? ? ? ? ?(3) 入數(shù)據(jù)源名稱 yiliangdian_mysql,Server:localhost( 如果 接其它 主機(jī), IP),User:root,Password:123456,Databasse:student. ->OK

?

oracle連接java的幾種方法

4 應(yīng)

/**
* filename: joaccess.java
* fuction:
實現(xiàn) jdbc-odbc 橋連 接方式方式
* writtenby yiliangdian @ 2008-4-18
**/
import java.sql.*;

public class joaccess {
? ?public static void main(String[] args) {
? ? ? //
建立和數(shù)據(jù)庫的連接時要用好 Connection 接口

? ? ? ?Connection con;
? ? ? //
提供在基層連接上運行 SQL 語句
? ? ? Statement sql;
? ? ? //
Statement 執(zhí)行了 SQL 語句以后,結(jié)果值是以結(jié)果集的方式返回的。
? ? ? ResultSet rs;
? ? ? try {
? ? ? ? ?
//jdbc-odbc 橋連接方式需要加載 jdbc-odbc 方式的驅(qū)動程序
? ? ? ? ? ?Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
? ? ?}catch(ClassNotFoundException e){
? ? ? ? ? System.out.println(""+e);
? ? ?}
? ? ?try{
? ? ? ? ? ?//DriverManager
類是 JDBC 的管理層,作用于用戶和驅(qū)動之間。 DriverManager 類跟蹤可用的驅(qū)動

? ? ? ? ? ? //
程序,并在數(shù)據(jù)庫和相應(yīng)驅(qū)動程序之間建立連接。 chenyuaccess 是建立的數(shù)據(jù)源名稱,后兩項是
? ? ? ? ? ? ?//
用戶名,密碼是建立數(shù)據(jù)源時設(shè)立的與數(shù)據(jù)庫中的密碼無關(guān),該用戶名密碼可以為空。
? ? ? ? ? ? ?
// 不同的數(shù)據(jù)庫連接只需要改變源名稱,用戶名和密碼
? ? ? ? ?
con = DriverManager.getConnection("jdbc:odbc:yiliangdian_access","yiliangdian","123456");
? ? ? ? ? ? // 創(chuàng)建 Statement, 獲取 Statement 實例,用于執(zhí)行 SQL 語句

? ? ? ? ?
sql = con.createStatement();
? ? ? ? ? ? // 運行查詢語句,返回 ResultSet 對象

? ? ? ? ?
rs = sql.executeQuery("select * from chengjibiao");
? ? ? ? ? ? while(rs.next()){
? ? ? ? ? ? ? ? ? ? String number = rs.getString(1);
? ? ? ? ? ? ? ? ? ?String name = rs.getString(2);
? ? ? ? ? ? ? ? ? ?Date date = rs.getDate(3);
? ? ? ? ? ? ? ? ? ?int math = rs.getInt(4);
? ? ? ? ? ? ? ? ? ? ?System.out.println("
學(xué)號:
" + number);
? ? ? ? ? ? ? ? ? ?System.out.println("
姓名:
" + name);
? ? ? ? ? ? ? ? ? ?System.out.println("
生日:
" + date);
? ? ? ? ? ? ? ? ? ?System.out.println("
數(shù)學(xué):
" + math);
? ? ? ? ? ? ? }
? ? ? ? ?
con.close();
? ? ?}catch(SQLException e1)
? ? ?{
? ? ? ? ? ? ? ? System.out.println("sql
語句出錯
:"+e1);
? ? ? ?}
}
}

?

參考: http://tayueerlai01.bokee.com/500929271.html

oracle連接java的幾種方法


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 黄色网址亚洲 | 99综合在线 | 日本精品中文字幕在线不卡 | 四虎国产成人亚洲精品 | 九九热精品视频在线 | 久久一本精品久久精品66 | 天天舔| 国产成人精品日本亚洲网站 | 久久香蕉影院 | 国产特黄| 日本一区二区三区精品 | 97午夜影院 | 91成人午夜精品福利院在线观看 | 特黄aa级毛片免费视频播放 | 狠狠色狠狠色综合日日32 | 九九亚洲精品 | 欧美九九视频 | 亚洲欧美日韩不卡一区二区三区 | 成人亚洲国产综合精品91 | 色xxx| 99伦理 | 亚洲精品久久成人福利 | 成人999 | 日本裤袜xxxx视频 | 色综合久久久久久 | 亚洲欧洲日韩在线 | 久热国产视频 | 日本一区二区三区四区五区 | 夜夜草天天干 | 欧美xxx精品| 亚洲一区二区精品 | 久久亚洲精品中文字幕三区 | 国产91一区二这在线播放 | 国产人成精品综合欧美成人 | 国产免费一区二区三区 | 99在线热播 | 奇米影视一区二区三区 | 亚洲精品国产成人中文 | 亚洲综合精品一二三区在线 | 亚洲国产人成在线观看 | 51精品视频在线一区二区 |