以
Oracle 9i, Windows XP 为例讲述如何设置 ODBC来访问在Linux
服务器上的
Oracle 9i 数据库
。
Oracle 数据库安装在IP 为 192.168.0.20 的Linux
服务器上
。实际上
,服务端的操作系统是无所谓的。Winodws, Linux, 或其它Unix均可
,只要Oracle能够安装上并提供服务即可。然后建立一个实例名为"MyTestInstance",并添加用户 mytestuser 和密码 password1,以备下文作为范例使用。服务器上可以配置多个实例,每个实例就是一个逻辑上独立的数据库。
客户端是指需要访问服务端的Oracle数据库的计算机,它可以与服务器是同一台机器,它也可以是网络能够访问到该服务器的任何其它计算机。
下面讨论如何在Windows客户端机上配置 Oracle 9i ODBC 来访问远程Oracle 9i数据库。
通过ODBC来访问Oracle的原理如图所示:
客户程序----> ODBC ----> Oracle OCI ------> Oracle 服务器
首先,在客户端上装一个 Oracle OCI (Oracle Call Interface),它是真正直接与远程Oracle服务器打交到,实现数据传输的组件。为了使用ODBC的统一方式来访问Oracle数据库,还必须 装一个Oracle ODBC driver. 它接收客户程序的数据库访问请求,并把ODBC类型的请求转换为对Oracle OCI的请求。OCI实现操纵Oracle数据库,并将查询结果或其它结果返回给ODBC driver, ODBCdriver 最后将结果返回给客户程序。换句话说,客户通过ODBC来访问数据库,而ODBC则是通过调用OCI的API来实现其功能的。
以刚才所述的服务器设置为基础,下面给出客户端Oracle ODBC的配置步骤。
步骤1:安装Oracle 客户端运行时库,其中包括 Oracle OCI.
步骤2:设置 OCI 访问信息
OCI访问Oracle 服务器需要知道
1,服务器IP地址或主机名,(主机名)
2,服务器的监听端口, (端口号)
3,欲访问的数据库实例名。 (服务标识/服务名)
把这三个信息组成的信息集合起个名字就叫数据源名(服务命名)。
这些信息可以通过 Oracle Net Manager 来设置。在它的设置界面中用的名词分别被列在对应的括号中。
本例设置如下:
服务命名: ABCD (随便字符串)
主机名: 192.168.0.20
端口号: 1521 (必须与服务器端的一致,这里是缺省值)
服务标识/服务名: MyTestInstance
以后 Oracle ODBC driver 只需要提供给OCI服务命名(本例为ABCD),OCI就知道如何去访问真正的数据库了。
步骤3:设置ODBC DSN,即 ODBC数据源
进入控制面板/管理工具/数据源(ODBC)/系统DSN
点击添加,选择 MicroSoft ODBC for Oracle,.然后弹出一个对话框,填写如下内容。
1,数据源名称: MyOracleSrc 可随便起,客户程序将用它。
2, 描述:一段说明文字,自己能看懂即可。
3,用户名称: mytestuser 你最终需要访问的数据库所认可的用户名。
4,服务器:ABCD (即OCI设置中的服务命名。这是中文版最容易引起误解的地方。笔者开始就误以为要填写Oracle服务器的主机名)
步骤4: 客户程序通过ODBC访问数据库的方法
客户程序访问数据库时需要三个信息:
1,数据源: MyOracleSrc ,即ODBC DSN中设置的数据源名称
2,用户名: mytestuser
3,密码: password1
这样,就可以访问到192.168.0.20上的数据库 MyTestInstance.
为了验证ODBC设置是否成功,可是使用DB查询分析器试用版照步骤4来进行简单的测试。