1)首先要有java連接oracle數(shù)據(jù)庫(kù)的驅(qū)動(dòng)類(lèi),下載好后導(dǎo)入到工程里
創(chuàng)新互聯(lián)建站是一家集網(wǎng)站建設(shè),錫林郭勒盟企業(yè)網(wǎng)站建設(shè),錫林郭勒盟品牌網(wǎng)站建設(shè),網(wǎng)站定制,錫林郭勒盟網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營(yíng)銷(xiāo),網(wǎng)絡(luò)優(yōu)化,錫林郭勒盟網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競(jìng)爭(zhēng)力??沙浞譂M(mǎn)足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專(zhuān)業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶(hù)成長(zhǎng)自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。
2)代碼:
import java.sql.*;
public class JDBCTest {
/**
* @param args
* @throws ClassNotFoundException
*/
public static void main(String[] args)
throws ClassNotFoundException, SQLException{
//1.準(zhǔn)備參數(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ū)動(dòng)實(shí)例
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語(yǔ)句
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語(yǔ)句
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.在你的本機(jī)里面的tnsnames.ora里面加入鏈接數(shù)據(jù)庫(kù)的實(shí)例名屬性。
2.在你的本機(jī)的你的要鏈接的用戶(hù)下輸入下列命令即完成連接:
CREATE DATABASE LINK 你要取的名字
CONNECT TO 你需要訪問(wèn)的用戶(hù)名 IDENTIFIED BY 密碼
USING '你加入tnsnames.ora的實(shí)例名';
3.這時(shí)你就可以直接訪問(wèn)遠(yuǎn)程服務(wù)器的數(shù)據(jù)了:
select * from tab@你要取的名字;
select a.col1,b.col1 from table1@你要取的名字1 a, table1@你要取的名字2 b where......;
如果你要建Oracle RAC的話,就不是鏈接概念了,不是上面所說(shuō)!
如何創(chuàng)建,授權(quán)和鏈接oracle數(shù)據(jù)庫(kù)的普通用戶(hù)
安裝好oracle數(shù)據(jù)庫(kù)后進(jìn)入cmd命令界面(win+R),首先以管理員身份鏈接數(shù)據(jù)庫(kù),有兩種辦法:
1.輸入sqlplus,然后輸入管理員用戶(hù)名(system)和口令密碼即可鏈接成功。
2.輸入sqlplus “/as sysdba”即可鏈接成功。
修改本地oracle的tnsnames.ora文件即可。
以oracle10g為例,一般路徑為:~\oracle\product\10.2.0\db_1\network\ADMIN
打開(kāi)如圖文件:
在文件底部添加一段內(nèi)容:
本地連接名?=
(DESCRIPTION?=
(ADDRESS?=?(PROTOCOL?=?TCP)(HOST?=?服務(wù)器主機(jī)名或服務(wù)器IP)(PORT?=?服務(wù)器oracle端口號(hào),一般默認(rèn)為1521))
(CONNECT_DATA?=
(SERVER?=?DEDICATED)
(SERVICE_NAME?=?服務(wù)器實(shí)例名)
)
)
注意:上段內(nèi)容中的中文部分需要跟管理員索取,然后才能配置成功。
SQL SERVER連接oracle數(shù)據(jù)庫(kù)幾種方法
--1 方式
--查詢(xún)oracle數(shù)據(jù)庫(kù)中的表
SELECT *
FROM OPENDATASOURCE(
'MSDAORA',
'Data Source=GE160;User ID=DAIMIN;Password=DAIMIN'
)..DAIMIN.JOBS
--在sqlserver中創(chuàng)建與oracle數(shù)據(jù)庫(kù)中的表同名的表
select * into JOBS from
OPENDATASOURCE(
'MSDAORA',
'Data Source=GE160;User
ID=daimin;Password=daimin'
)..DAIMIN.JOBS
select * from JOBS
--2、方式
--在master數(shù)據(jù)庫(kù)中查看已經(jīng)存在的鏈接服務(wù)器
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)指定登錄帳號(hào)
exec sp_dropserver GE160
select * from GE160..DAIMIN.JOBS
delete from GE160..DAIMIN.JOBS
--備注:引用ORACLE服務(wù)器上的表時(shí),用戶(hù)名稱(chēng)與表名一定要大寫(xiě)字母。
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?到另外一個(gè)?oracle? ?還是 dblink 到一個(gè) sql server ?
注:
如果創(chuàng)建全局dblink,必須使用systm或sys用戶(hù),在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
上面的例子,是在當(dāng)前?Oracle?數(shù)據(jù)庫(kù)上面,創(chuàng)建一個(gè)?名字叫?mydblink?的數(shù)據(jù)庫(kù)鏈接。
使用?test作為用戶(hù)名,test123?作為密碼。
訪問(wèn)的遠(yuǎn)程數(shù)據(jù)庫(kù),ip地址是?192.168.1.210,端口號(hào)是默認(rèn)的?1521
遠(yuǎn)程服務(wù)器的服務(wù)名是?orcl
Oracle?連接?SQL?Server
需要去下載?額外的?網(wǎng)關(guān)程序
注意:
本次測(cè)試
Oracle?(10.2.0.1.0)??服務(wù)器?ip?地址:?192.168.1.210
SQL?Server?(2005?開(kāi)發(fā)者版本)??服務(wù)器名(SQL2005)
下載下來(lái)的
10201_gateways_win32.zip
該?gateways?程序
可安裝在?SQL?Server?那臺(tái)計(jì)算機(jī)上
本次網(wǎng)關(guān)程序,被安裝在?
D:\oracle\product\10.2.0\tg_1
目錄下.
安裝過(guò)程會(huì)提示輸入?SQL?Server?數(shù)據(jù)庫(kù)的信息。
該信息會(huì)被生成在
D:\oracle\product\10.2.0\tg_1\tg4msql\admin
目錄下的
inittg4msql.ora
文件中。
將其復(fù)制粘貼為文件名
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)
)
#?追加開(kāi)始
(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))
)
)
下一步,運(yùn)行??lsnrctl?stop?/?lsnrctl?start
C:\lsnrctl?stop
輸出略...
C:\lsnrctl?start
部分輸出略...
服務(wù)?"Test2005"?包含?1?個(gè)例程。
例程?"Test2005",?狀態(tài)?UNKNOWN,?包含此服務(wù)的?1?個(gè)處理程序...
命令執(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)
)
)
#?追加開(kāi)始
TEST2005?=?
(DESCRIPTION?=
(ADDRESS_LIST?=
(ADDRESS?=?(PROTOCOL?=?TCP)(HOST?=?SQL2005)(PORT?=?1521))
)
(CONNECT_DATA?=
(SID?=?Test2005)
)
(HS?=?OK)
)
#?追加結(jié)束????
tnsping?測(cè)試是否正常。
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?適配器來(lái)解析別名
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ù)庫(kù)鏈接?(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)站標(biāo)題:oracle如何創(chuàng)建鏈接,oracle 內(nèi)鏈接
文章URL:http://jinyejixie.com/article24/dsecgje.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站建設(shè)、商城網(wǎng)站、App開(kāi)發(fā)、網(wǎng)站設(shè)計(jì)公司、外貿(mào)網(wǎng)站建設(shè)、自適應(yīng)網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)