需要一些前提條件:

創(chuàng)新互聯(lián)主要從事成都做網(wǎng)站、網(wǎng)站建設、網(wǎng)頁設計、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務。立足成都服務巴彥淖爾,10多年網(wǎng)站建設經(jīng)驗,價格優(yōu)惠、服務專業(yè),歡迎來電咨詢建站服務:13518219792
1、對方的主機能被連接(如在同一局域網(wǎng)內(nèi))
2、需要知道對方數(shù)據(jù)庫IP、端口號、服務名
3、需要知道對方提供的管理數(shù)據(jù)庫的用戶名及密碼
連接方法:
1、在本地的oracle安裝目錄,找到tnsnames.ora文件,一般在~\oracle\product\10.2.0\db_1\network\ADMIN目錄下,如圖:
2、用文本打開tnsnames.ora文件,添加以下內(nèi)容:
本地自定義實例名?=
(DESCRIPTION?=
(ADDRESS?=?(PROTOCOL?=?TCP)(HOST?=?數(shù)據(jù)庫IP或數(shù)據(jù)庫主機名)(PORT?=?數(shù)據(jù)庫端口號))
(CONNECT_DATA?=
(SERVER?=?DEDICATED)
(SERVICE_NAME?=?數(shù)據(jù)庫服務名)
)
)
3、保存文件即可。
4、打開第三方工具,如plsq,輸入對方提供的用戶名及密碼,選擇新建的數(shù)據(jù)庫鏈接即可。
你是要?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)關程序
注意:
本次測試
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)關程序,被安裝在?
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)
)
#?追加結束
)
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)
)
#?追加結束????
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;
1)首先要有java連接oracle數(shù)據(jù)庫的驅動類,下載好后導入到工程里
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.構造驅動實例
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();
}
}
試試用DBLink連到另外一個庫上:
-- Create database link
create public database link 名字
connect to user identified by password
using '(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = IP)(PORT = PORT)))(CONNECT_DATA = (SERVICE_NAME = SID)))';
使用時候 可以使用select × from TB名@DBLink_Name
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的話,就不是鏈接概念了,不是上面所說!
修改本地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)容中的中文部分需要跟管理員索取,然后才能配置成功。
網(wǎng)頁題目:oracle如何新建鏈接,oracle sql developer新建連接
文章位置:http://chinadenli.net/article37/dsisssj.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供靜態(tài)網(wǎng)站、App設計、品牌網(wǎng)站制作、企業(yè)網(wǎng)站制作、微信公眾號、營銷型網(wǎng)站建設
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)