Oracle数据库安装在IP地址为192.168.0.20 的Linux服务器上,然后建立一个实例名为"MyTestInstance",并添加用户mytestuser 和密码password1,以备下文作为范例使用。服务器上可以配置多个实例,每个实例就是一个逻辑上独立的数据库。 客户端是指需要访问服务端的Oracle数据库的计算机,它可以与服务器是同一台机器,它也可以是网络能够访问到该服务器的任何其它计算机。
/ O% {/ J& m/ Y! p& {' c 下面讨论如何在Windows客户端机上配置Oracle 9i ODBC 来访问远程Oracle 9i数据库。4 g4 T" ` _5 Q( _1 `: R9 l
通过ODBC来访问Oracle的原理如下:+ z: q6 S& b* G) t& J h/ y
客户程序----> ODBC ----> Oracle OCI ------> Oracle 服务器: ?, F5 {. H5 H& i8 S3 D
首先,在客户端上装一个Oracle OCI(Oracle Call Interface),它是真正直接与远程Oracle服务器打交道的,实现数据传输的组件。为了使用ODBC的统一方式来访问Oracle数据库,还必须装一个Oracle ODBC driver,它接收客户程序的数据库访问请求,并把ODBC类型的请求转换为对Oracle OCI的请求。OCI实现操纵Oracle数据库,并将查询结果或其它结果返回给ODBC driver,ODBCdriver 最后将结果返回给客户程序。换句话说,客户通过ODBC来访问数据库,而ODBC则是通过调用OCI的API来实现其功能的。
0 ~/ {- t" E" z, r7 G* ]& d 以刚才所述的服务器设置为基础,下面给出客户端Oracle ODBC的配置步骤。) {3 D# f1 G) |8 M# K* H2 J" g
步骤1:安装Oracle 客户端运行时库,其中包括Oracle OCI。
S' V' A+ L f8 W- \2 l 步骤2:设置OCI访问信息。2 `4 ? F8 x$ ^
OCI访问Oracle服务器需要知道:
9 w) l9 k2 U/ X# p1 M+ a3 L 1.服务器IP地址或主机名。- R/ f5 i+ u* j
2.服务器的监听端口。
0 t0 S6 x: m- Q0 H, } 3.欲访问的数据库实例名(服务标识/服务名)。
: l- h7 d3 a/ `- V$ |; k 把这三个信息组成的信息集合起个名字就叫数据源名(服务命名)。
3 q5 O* @- J( X% c% q% }8 C; g: S 这些信息可以通过Oracle Net Manager来设置。在它的设置界面中用的名词分别被列在对应的括号中。. p; C1 g# x. N. P n' i3 ~
本例设置如下:! G. V1 |4 {8 n& @$ g( D
服务命名:ABCD(随便字符串)# B0 i" t/ m: S
主机名:192.168.0.206 W- t. z R3 {4 `+ D, V" z4 L
端口号:1521&;(必须与服务器端的一致,这里是缺省值)
3 s7 s8 c# ^# e! A7 C* m7 H2 o 服务标识/服务名:MyTestInstance8 s, W4 l O7 n
以后Oracle ODBC driver只需要提供给OCI服务命名(本例为ABCD),OCI就知道如何去访问真正的数据库了。" v1 z" K0 R5 ]; O: Y3 v
步骤3:设置ODBC DSN,即ODBC数据源。1 _% |1 D1 \- a* }9 h
进入控制面板/管理工具/数据源(ODBC)/系统DSN,点击添加,选择MicroSoft ODBC for Oracle,然后弹出一个对话框,填写如下内容。
7 H- @9 X8 D, ]; |3 t' M5 g 1.数据源名称:MyOracleSrc 可随便起,客户程序将用它。
7 T4 F) B1 ?, r w 2.描述:一段说明文字,自己能看懂即可。- ]# I" x0 W3 ?, }: P3 R4 X
3.用户名称:mytestuser你最终需要访问的数据库所认可的用户名。8 F( O7 v- U9 }$ o1 }" T1 K
4.服务器:ABCD(即OCI设置中的服务命名。这是中文版最容易引起误解的地方。笔者开始就误以为要填写Oracle服务器的主机名)。- R% v5 ~) L/ V- h* b2 G; i3 b
步骤4:客户程序通过ODBC访问数据库的方法。
" C u( h* Z H e& Q) c$ S; O; l 客户程序访问数据库时需要三个信息:, g8 o+ u0 [/ V- p- f6 d; }
1.数据源:MyOracleSrc,即ODBC DSN中设置的数据源名称
/ k: C" J5 g6 k8 S& b0 m+ K 2.用户名:mytestuser: ^3 Z, X0 v8 V2 n' ]
3.密码:password1! W5 F+ r n1 C$ N1 C2 [
这样,就可以访问到192.168.0.20上的数据库MyTestInstance。
! i0 G. K6 e2 U0 z# F7 W1 B 为了验证ODBC设置是否成功,可是使用DB查询分析器试用版照步骤4来进行简单的测试。 |