如果需要从一个数据库服务器访问另外一个数据库服务器的表或视图时,可以通过 DBLink 的方法,实现基本等同于本机访问的效果,如下:
; }. c% g: N8 J! }SELECT * FROM A@DBLINK_B ;
9 \2 R) d. N7 n4 y x. K6 r创建DBLink的方法有以下两种: 6 l7 Y/ j- E6 O A4 A5 `* }
& T& C* K- e) ?% @, C2 o第一、已经在需要访问的服务器上创建好了被访问服务器的服务名:
' k/ `; b% P2 ]4 K6 n0 t: J. wcreate database link test 3 | i" D1 P$ c/ u5 m2 r! x# `
connect to username identified by pwd # o0 P1 @. Z! d; ~9 |
using ’server_name’; 4 g1 n1 r! D1 x! I' O3 M
前提是我们已经建好了名为 ’server_name’ 的服务名。 6 t; T# a4 N$ T4 O* g, M9 P, S
然后可以用以下的方法访问了: 5 z( G R) g& z
SELECT * FROM A@TEST; ) P' M% H: t, g" D* k9 V- O# D
! K+ y# I9 C5 P. s- s7 a0 G- Q第二、还没有建好服务名时,可以用以下的方法: ! }) A+ E6 u2 D5 D( z: l0 z
create database link test
9 `8 e! M$ ?3 X) s5 Mconnect to username identified by pwd ! r g/ o$ F" ?8 p
using ’(DESCRIPTION = 1 g& H, {+ \9 O' t$ i5 z8 g
(ADDRESS_LIST = 6 h8 {: D7 x2 U; j/ @
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.1)(PORT = 1521))
, S. A) Y2 k+ [6 O. {7 W2 y/ } ) }4 I+ a4 S0 k- E
(CONNECT_DATA = : J. K" l! x$ A0 U
(SERVICE_NAME = ora8)
( Q# q( u& f3 K: }+ d ) * \( K& ]) n: n# u( q4 k/ K( Y
)’; 7 s: f+ p1 }7 m- m
如果不方便创建服务名,那么第二种方法还是比较方便的。 |