1)首先要有java連接oracle數(shù)據(jù)庫的驅(qū)動類,下載好后導入到工程里
創(chuàng)新互聯(lián)建站是一家集網(wǎng)站建設(shè),錫林郭勒盟企業(yè)網(wǎng)站建設(shè),錫林郭勒盟品牌網(wǎng)站建設(shè),網(wǎng)站定制,錫林郭勒盟網(wǎng)站建設(shè)報價,網(wǎng)絡(luò)營銷,網(wǎng)絡(luò)優(yōu)化,錫林郭勒盟網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強企業(yè)競爭力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時我們時刻保持專業(yè)、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學習、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實用型網(wǎng)站。
2)代碼:
import java.sql.*;
public class JDBCTest {
/**
* @param args
* @throws ClassNotFoundException
*/
public static void main(String[] args)
throws ClassNotFoundException, SQLException{
//1.準備參數(shù)
String ip = "192.168.0.26";
String sid = "tarena";
String port = "1521";
String dbUser = "openlab";
String dbPassword = "open123";
String driver
= "oracle.jdbc.driver.OracleDriver";
//2.構(gòu)造驅(qū)動實例
Class.forName(driver);
//3.創(chuàng)建連接
//連接字符串是固定的形式,oracle的形式:
String url
= "jdbc:oracle:thin:@"
+ ip + ":" + port + ":" + sid;
Connection conn
= DriverManager.getConnection
(url, dbUser, dbPassword);
//4.執(zhí)行SQL語句
String sql = "select id, password, name from user_sd1104 " +
"where id = 1001 and password = '1234'";
Statement stmt = conn.createStatement();
ResultSet rs
= stmt.executeQuery(sql);//執(zhí)行sql語句
while(rs.next()){
int id = rs.getInt(1);
String pwd = rs.getString(2);
String name = rs.getString(3);
System.out.println("welcome," + name);
}
rs.close();
stmt.close();
conn.close();
}
}
1.在你的本機里面的tnsnames.ora里面加入鏈接數(shù)據(jù)庫的實例名屬性。
2.在你的本機的你的要鏈接的用戶下輸入下列命令即完成連接:
CREATE DATABASE LINK 你要取的名字
CONNECT TO 你需要訪問的用戶名 IDENTIFIED BY 密碼
USING '你加入tnsnames.ora的實例名';
3.這時你就可以直接訪問遠程服務器的數(shù)據(jù)了:
select * from tab@你要取的名字;
select a.col1,b.col1 from table1@你要取的名字1 a, table1@你要取的名字2 b where......;
如果你要建Oracle RAC的話,就不是鏈接概念了,不是上面所說!
如何創(chuàng)建,授權(quán)和鏈接oracle數(shù)據(jù)庫的普通用戶
安裝好oracle數(shù)據(jù)庫后進入cmd命令界面(win+R),首先以管理員身份鏈接數(shù)據(jù)庫,有兩種辦法:
1.輸入sqlplus,然后輸入管理員用戶名(system)和口令密碼即可鏈接成功。
2.輸入sqlplus “/as sysdba”即可鏈接成功。
修改本地oracle的tnsnames.ora文件即可。
以oracle10g為例,一般路徑為:~\oracle\product\10.2.0\db_1\network\ADMIN
打開如圖文件:
在文件底部添加一段內(nèi)容:
本地連接名?=
(DESCRIPTION?=
(ADDRESS?=?(PROTOCOL?=?TCP)(HOST?=?服務器主機名或服務器IP)(PORT?=?服務器oracle端口號,一般默認為1521))
(CONNECT_DATA?=
(SERVER?=?DEDICATED)
(SERVICE_NAME?=?服務器實例名)
)
)
注意:上段內(nèi)容中的中文部分需要跟管理員索取,然后才能配置成功。
SQL SERVER連接oracle數(shù)據(jù)庫幾種方法
--1 方式
--查詢oracle數(shù)據(jù)庫中的表
SELECT *
FROM OPENDATASOURCE(
'MSDAORA',
'Data Source=GE160;User ID=DAIMIN;Password=DAIMIN'
)..DAIMIN.JOBS
--在sqlserver中創(chuàng)建與oracle數(shù)據(jù)庫中的表同名的表
select * into JOBS from
OPENDATASOURCE(
'MSDAORA',
'Data Source=GE160;User
ID=daimin;Password=daimin'
)..DAIMIN.JOBS
select * from JOBS
--2、方式
--在master數(shù)據(jù)庫中查看已經(jīng)存在的鏈接服務器
select * from sysservers
EXEC sp_addlinkedserver
@server = 'GE160',
@srvproduct = 'Oracle',
@provider = 'MSDAORA',
@datasrc = 'GE160'
exec sp_addlinkedsrvlogin 'GE160', false, 'sa', 'daimin', 'daimin'
--要在企業(yè)管理器內(nèi)指定登錄帳號
exec sp_dropserver GE160
select * from GE160..DAIMIN.JOBS
delete from GE160..DAIMIN.JOBS
--備注:引用ORACLE服務器上的表時,用戶名稱與表名一定要大寫字母。
SELECT *
FROM OPENQUERY(GE160, 'SELECT * FROM DAIMIN.JOBS')
--3、方式
SELECT a.*
FROM OPENROWSET('MSDAORA',
'GE160';'DAIMIN';'DAIMIN',
DAIMIN.JOBS) AS a
ORDER BY a.JOB_ID
--4、方式 ODBC
--ODBC方式比較好辦
SELECT A.*
FROM
OPENROWSET('MSDAORA','GE160';'DAIMIN';'DAIMIN', --GE160是數(shù)據(jù)源名
DAIMIN.JOBS) AS
A
ORDER BY A.JOB_ID
你是要?dblink?到另外一個?oracle? ?還是 dblink 到一個 sql server ?
注:
如果創(chuàng)建全局dblink,必須使用systm或sys用戶,在database前加public。
SQL?CREATE?DATABASE?LINK?mydblink
2????CONNECT?TO?test?IDENTIFIED?BY?test123
3????USING?'(DESCRIPTION?=
4??????(ADDRESS_LIST?=
5????????(ADDRESS?=?(PROTOCOL?=?TCP)(HOST?=?192.168.1.210)(PORT?=?1521)))
6????????(CONNECT_DATA?=?(SERVICE_NAME?=?orcl)
7??????)
8????)';
Database?link?created.
SQL?select?count(1)?from?user_tables@mydblink;
COUNT(1)
----------
6
上面的例子,是在當前?Oracle?數(shù)據(jù)庫上面,創(chuàng)建一個?名字叫?mydblink?的數(shù)據(jù)庫鏈接。
使用?test作為用戶名,test123?作為密碼。
訪問的遠程數(shù)據(jù)庫,ip地址是?192.168.1.210,端口號是默認的?1521
遠程服務器的服務名是?orcl
Oracle?連接?SQL?Server
需要去下載?額外的?網(wǎng)關(guān)程序
注意:
本次測試
Oracle?(10.2.0.1.0)??服務器?ip?地址:?192.168.1.210
SQL?Server?(2005?開發(fā)者版本)??服務器名(SQL2005)
下載下來的
10201_gateways_win32.zip
該?gateways?程序
可安裝在?SQL?Server?那臺計算機上
本次網(wǎng)關(guān)程序,被安裝在?
D:\oracle\product\10.2.0\tg_1
目錄下.
安裝過程會提示輸入?SQL?Server?數(shù)據(jù)庫的信息。
該信息會被生成在
D:\oracle\product\10.2.0\tg_1\tg4msql\admin
目錄下的
inittg4msql.ora
文件中。
將其復制粘貼為文件名
initTest2005.ora
然后修改內(nèi)容
#?This?is?a?sample?agent?init?file?that?contains?the?HS?parameters?that?are
#?needed?for?the?Transparent?Gateway?for?SQL?Server
#
#?HS?init?parameters
#
HS_FDS_CONNECT_INFO=SQL2005.test
HS_FDS_TRACE_LEVEL=OFF
HS_FDS_RECOVERY_ACCOUNT=RECOVER
HS_FDS_RECOVERY_PWD=RECOVER
下一步,修改
D:\oracle\product\10.2.0\tg_1\NETWORK\ADMIN
目錄下的
listener.ora
文件。
SID_LIST_LISTENER?=
(SID_LIST?=
(SID_DESC?=
(SID_NAME?=?PLSExtProc)
(ORACLE_HOME?=?D:\oracle\product\10.2.0\tg_1)
(PROGRAM?=?extproc)
)
#?追加開始
(SID_DESC?=
(SID_NAME?=?Test2005)
(ORACLE_HOME?=?D:\oracle\product\10.2.0\tg_1)
(PROGRAM?=?tg4msql)
)
#?追加結(jié)束
)
LISTENER?=
(DESCRIPTION_LIST?=
(DESCRIPTION?=
(ADDRESS?=?(PROTOCOL?=?IPC)(KEY?=?EXTPROC1))
(ADDRESS?=?(PROTOCOL?=?TCP)(HOST?=?SQL2005)(PORT?=?1521))
)
)
下一步,運行??lsnrctl?stop?/?lsnrctl?start
C:\lsnrctl?stop
輸出略...
C:\lsnrctl?start
部分輸出略...
服務?"Test2005"?包含?1?個例程。
例程?"Test2005",?狀態(tài)?UNKNOWN,?包含此服務的?1?個處理程序...
命令執(zhí)行成功
下一步,修改?
D:\oracle\product\10.2.0\tg_1\NETWORK\ADMIN
目錄下的
tnsnames.ora
文件
EXTPROC_CONNECTION_DATA?=
(DESCRIPTION?=
(ADDRESS_LIST?=
(ADDRESS?=?(PROTOCOL?=?IPC)(KEY?=?EXTPROC1))
)
(CONNECT_DATA?=
(SID?=?PLSExtProc)
(PRESENTATION?=?RO)
)
)
#?追加開始
TEST2005?=?
(DESCRIPTION?=
(ADDRESS_LIST?=
(ADDRESS?=?(PROTOCOL?=?TCP)(HOST?=?SQL2005)(PORT?=?1521))
)
(CONNECT_DATA?=
(SID?=?Test2005)
)
(HS?=?OK)
)
#?追加結(jié)束????
tnsping?測試是否正常。
C:\tnsping?test2005
TNS?Ping?Utility?for?32-bit?Windows:?Version?10.2.0.1.0?-?Production?on?03-10月-
2011?14:03:03
Copyright?(c)?1997,?2005,?Oracle.??All?rights?reserved.
已使用的參數(shù)文件:
D:\oracle\product\10.2.0\tg_1\network\admin\sqlnet.ora
已使用?TNSNAMES?適配器來解析別名
Attempting?to?contact?(DESCRIPTION?=?(ADDRESS_LIST?=?(ADDRESS?=?(PROTOCOL?=?TCP)
(HOST?=?SQL2005)(PORT?=?1521)))?(CONNECT_DATA?=?(SID?=?Test2005))?(HS?=?OK))
OK?(50?毫秒)
創(chuàng)建數(shù)據(jù)庫鏈接?(DBLINK)
CREATE?DATABASE?LINK?mssql2005
CONNECT?TO?"test"?IDENTIFIED?BY?"test123"
USING?'(DESCRIPTION?=
(ADDRESS?=?(PROTOCOL?=?TCP)(HOST?=?SQL2005)(PORT?=?1521))
(CONNECT_DATA?=?(SID?=?Test2005)
(HS?=?OK)
)
)';
SELECT?*?FROM?test@mssql2005;
網(wǎng)站標題:oracle如何創(chuàng)建鏈接,oracle 內(nèi)鏈接
文章URL:http://www.sd-ha.com/article24/dsecgje.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站建設(shè)、商城網(wǎng)站、App開發(fā)、網(wǎng)站設(shè)計公司、外貿(mào)網(wǎng)站建設(shè)、自適應網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)