使用ODBC连接Progress数据库(Merant 3.70,SQL89)
使用ODBC连接Progress数据库(Merant 3.70,SQL89)
测试环境
服务器端:Redhat Linux Enterprise 4.0 + Progress 91D SP9
客户端:Windows XP Professional SP2
首先请下载 Merant ODBC 3.7 For Progress 91d,这是 Progress 的 ODBC 驱动程序,安装完成后即可在 [控制面板] - [管理工具] - [ODBC数据源] 中看见 MERANT 3.70 32-bit PROGRESS 驱动程序。
下载地址:http://www.blue-eyeds.net/temp/odbc3.7.rar(SN:110000402830 Key:78161385)
注意:Progress 91d Win32 版附带有一个 Merant ODBC 3.60 的驱动程序,连接方式跟 3.70 不同,请参见使用 ODBC 连接 Progress 数据库(Merant 3.60,SQL92),我还没有测试成功,希望高人指点。
Linux 服务器端:
1、登入 Linux 服务器(最好使用 root 用户),在 /etc/services 配置文件中增加一行
merant 50000/tcp # merant ODBC
注:merant 是开启的服务名称,自己随便取,我就用 merant 便于识别,50000 这个端口号也是自己随便设定的,只要系统没有使用这个端口就好了,tcp 是端口类型,# 之后是注释。
2、在 Progress 中启动 ODBC 服务:
/app/progress/91d/bin/_prooibk -SV -S merant
注:没什么好解释,在 Progress 安装目录执行 _prooibk 命令,打开 merant 端口(即这里的 50000)作为 ODBC 服务端口,如果执行成功你会看到两行信息说明,否则请检查该端口是否已被使用。
Windows 客户端:
1、在 C:\windows\system32\drivers\etc\services 文件中加入一行:
merant 50000/tcp # merant ODBC
注:这跟上面在 Linux 服务器中的配置是一样的,必须与服务器端一致,上面使用了 50000 端口,这里也使用 50000 端口。
2、配置数据源,添加一个数据源,各选项参数如下:
[General]
Data Source Name:给数据源取名,便于在程序中引用
Description:数据源描述说明,随便写
Database Name:数据库的名字,比如 mfgprod
User ID:可不填(这个用户名是 Progress 数据库自己的用户名,不是 Windows 或 Linux 用户,也不是 MFG/PRO 用户,如果数据库设置为拒绝匿名访问的话就要填写)
[Oid/Oib Options]
Protocol:TCP (连接类型,就是你在 services 文件中设定的连接类型)
Service Name:端口名称,在 services 文件中加的 merantODBC 的端口名称,如 merant(其实直接用端口号也可以,这样就不用在 services 文件中定义端口了)
Host Name:服务器的名称或IP(建议用IP,否则还要在 hosts 文件中加解析)
[Database Options]
Database Access Mode:Via Server (连接方式,分 Direct 和 Via Server,最好使用 Via Server,如果使用 Direct 的话,直接在 Database path 里填入数据库所在的物理路径即可,以下各项不需再填)
Protocol:TCP (这里应该是你数据库的端口类型,我还没弄清楚,一般填 TCP 即可)
Service Name:启动数据库的端口名(注意,这是你的数据库本身的端口名,即你在服务器端用 mfgutil 工具所设定的端口,不要问我 mfgutil 怎么用,实在不知道,可以查看一下数据库在 MFG/PRO 里对应的 .pf 文件,里面有写的)
Host Name: 服务器的名称或IP(推荐IP)
最后,点 Test Connect 测试连接即可,成功的话会显示 Connect establish。
其实用 ODBC 连接 Progress 并不复杂,总的来说就是在服务器端启动 ODBC 服务,然后在客户端使用 ODBC 软件连接,而其它的步骤只是为了方便它而已,比如定义端口,或者添加搜索路径(没多大影响,本教程中省略此步)等,最关键就是要在服务器端成功启动 ODBC。