PowerBuilder是最常用的基于Windows操作系統(tǒng)的數(shù)據(jù)庫(kù)前端開發(fā)工具之一,它通過不同的驅(qū)動(dòng)程序連接不同的數(shù)據(jù)庫(kù),再通過這種連接,實(shí)現(xiàn)對(duì)數(shù)據(jù)的管理。而基于Sco Unix的Informix-OnLine數(shù)據(jù)庫(kù)因其具有高性能、高可靠性、支持?jǐn)?shù)據(jù)完整性定義和檢查等特性也被廣泛應(yīng)用。用PB和Informix-OnLine組合構(gòu)建跨平臺(tái)集成開發(fā)環(huán)境可以發(fā)揮PowerBuilder和Informix-OnLine各自的優(yōu)勢(shì),充分利用Windows和Unix操作系統(tǒng)的特點(diǎn),因此對(duì)于軟件開發(fā)者和最終用戶來說,是一個(gè)不錯(cuò)的選擇。
下面以在客戶端Windows操作系統(tǒng)上安裝PowerBuilde 8和Informix-Cli,在服務(wù)器端SCO Unix 3.2上安裝Informix-OnLine 7.23,建立口令為ccb的Informix用戶,并以創(chuàng)建數(shù)據(jù)庫(kù)atm為例詳細(xì)介紹如何用PB和 Informix-OnLine構(gòu)建跨平臺(tái)集成開發(fā)環(huán)境。
配置Informix-OnLine
Informix-OnLine的配置涉及5個(gè)文件:/etc/hosts, /etc/services, /usr/informix/etc/sqlhosts, /usr/informix/.profile, /usr/informix/etc/onconfig.atm。
1.修改Unix系統(tǒng)中的TCP/IP連接文件:/etc/hosts和/etc/services。
hosts中存放機(jī)器名和IP地址的對(duì)應(yīng)關(guān)系,網(wǎng)絡(luò)上每臺(tái)使用Informix-OnLine的計(jì)算機(jī),都必須在此文件中加入一行,包括IP地址、主機(jī)名和主機(jī)別名三個(gè)域,其中主機(jī)別名為可選域,例中加入一臺(tái)客戶機(jī)(hbfcli)和服務(wù)器(atmserver),在hosts中體現(xiàn)為兩行(主機(jī)別名域未用):
74.64.44.8 atmserver
74.64.191.170 hbfcli
2.修改/etc/services。
services文件中每一行為一個(gè)服務(wù),包括服務(wù)名、端口號(hào)/協(xié)議、別名三個(gè)域,其中別名為可選域。服務(wù)名和端口號(hào)是任意的,但在文件中必須是惟一的,而且在網(wǎng)絡(luò)上每臺(tái)使用本Informix-OnLine的計(jì)算機(jī)上都必須相同。本例中加入如下一行:
sqlexec 6666/tcp
3.修改/usr/informix/etc/sqlhosts。
sqlhosts文件包含你提供的讓客戶應(yīng)用查找,并連接到網(wǎng)絡(luò)上任意地方的Informix-OnLine服務(wù)器的信息。該文件必須包含一行(一個(gè)登錄項(xiàng)),包括五個(gè)域:數(shù)據(jù)庫(kù)服務(wù)器名、網(wǎng)絡(luò)類型、主機(jī)名、服務(wù)名和選項(xiàng)域。
數(shù)據(jù)庫(kù)服務(wù)器名(dbservername)和Onconfig文件(本例為onconfig.atm)中的DBServerName或DBServerAliases相同。網(wǎng)絡(luò)類型域描述在客戶應(yīng)用和數(shù)據(jù)庫(kù)服務(wù)器之間的接口/協(xié)議組合類型,由三個(gè)子域共八位組成: 前兩個(gè)字母代表數(shù)據(jù)庫(kù)服務(wù)器產(chǎn)品,中間三個(gè)字母代表界面接口,最后三個(gè)字母代表網(wǎng)絡(luò)協(xié)議(或IPC機(jī)制),例如“on”代表數(shù)據(jù)庫(kù)服務(wù)器為OnLine,“tli”代表界面接口為傳輸級(jí)接口,“tcp”代表網(wǎng)絡(luò)協(xié)議為TCP/IP協(xié)議。當(dāng)網(wǎng)絡(luò)協(xié)議(或IPC機(jī)制)為共享內(nèi)存(shm)或數(shù)據(jù)流管道(str)通信時(shí),主機(jī)名域必須是實(shí)際運(yùn)行OnLine的計(jì)算機(jī)主機(jī)名。本例中網(wǎng)絡(luò)協(xié)議為TCP/IP, 該域應(yīng)作為/etc/hosts文件的鍵,給出的計(jì)算機(jī)網(wǎng)絡(luò)地址,應(yīng)與/etc/hosts文件中的主機(jī)名域相對(duì)應(yīng),故本例中應(yīng)為atmserver。服務(wù)名域的解釋取決于網(wǎng)絡(luò)類型中規(guī)定的連接類型,當(dāng)網(wǎng)絡(luò)協(xié)議(或IPC機(jī)制)為共享內(nèi)存(shm)或數(shù)據(jù)流管道(str)通信時(shí),OnLine內(nèi)部使用服務(wù)名域的值,此時(shí)可使用任何惟一的短字母組。本例中網(wǎng)絡(luò)協(xié)議為TCP/IP, 該域應(yīng)為/etc/services文件中的服務(wù)名域,故本例中應(yīng)為sqlexec,選項(xiàng)域在指定連接中提供額外的靈活性,本例中未用。
atmpos_a ontlitcp atmserversqlexec
4.修改/usr/informix/.profile。
在.profile文件中,要設(shè)置Informix-OnLine服務(wù)器所必需的四個(gè)環(huán)境參數(shù): InformixDirOnConfig、InformixServer和Path。本例中設(shè)置如下:
InformixDir =/usr/informix
OnConfig =onconfig.atm
InformixServe=atmpos
Path =$HOME/bin:$INFORMIXDIR/bin:.
5.修改/usr/Informix/etc/onconfig.atm。
onconfig.atm文件為.profile文件中設(shè)置的OnConfig環(huán)境參數(shù),onconfig.atm文件中的DBServerName或DBServerAliases必須與sqlhosts文件中的數(shù)據(jù)庫(kù)服務(wù)器名(dbservername)相同。本例中DBServerAliases與sqlhosts文件中的數(shù)據(jù)庫(kù)服務(wù)器名相同,為atmpos_a。
DBSERVERNAME atmpos
DBSERVERALIASES atmpos_a
配置客戶端Informix-Cli
1.修改Windows系統(tǒng)中的TCP/IP連接文件:c:\ windows\ hosts和c:\ windows\ services。Windows 2000中這兩個(gè)文件在c:\ WINNT\ system32\ drivers\ etc目錄下。這兩個(gè)連接文件的作用、使用方法及內(nèi)容分別與服務(wù)器端的/etc/hosts和/etc/services相同。
在c:\ windows\ hosts中加入如下兩行:
74.64.44.8 atmserver
74.64.191.170 hbfcli
在c:\ windows\ services中加入如下一行:
sqlexec 6666/tcp
2. 選“開始→程序→informix-cli32→Informix SetNet32”中的ServerInformation項(xiàng),各文本框參數(shù)對(duì)應(yīng)如下:
InformixServer atmpos
HostName atmserver
Protocalname onsoctcp
ServiceName sqlexec
InformixServer與 onconfig.atm文件中的DBServerName或DBServerAliases一致。HostName與“c:\ windows\ hosts”文件中的服務(wù)器(atmserver)一行對(duì)應(yīng),也可直接使用IP地址74.64.44.8。ServiceName與“c:\ windows\ services”中加入的服務(wù)相同。各參數(shù)全部輸入完畢后按“Make Default Server”按鈕。
3.選“開始→程序→informix-cli32→Informix SetNet32”中的HostInformation項(xiàng),各文本框參數(shù)對(duì)應(yīng)如下:
CurrentHost atmserver
UserName informix
PasswdOption passwd
Passwd ccb
CurrentHost自動(dòng)獲取 ServerInformation項(xiàng)中InformixServer的值。UserName為在服務(wù)器端能使用Informix-OnLine數(shù)據(jù)庫(kù)的用戶。PasswdOption用下拉框選擇需要口令。Passwd輸入服務(wù)器端informix用戶的口令。
3. 選擇“開始→程序→informix-cli32→Iogin32Demo”的File菜單中的Run菜單項(xiàng), 改StoreDatabase文本框內(nèi)容為atm后按“確定”。若出現(xiàn)“Customer Records Found”對(duì)話框,且未報(bào)錯(cuò),則客戶端的Informix-Cli和服務(wù)器端的Informix-OnLine連接成功。
配置PowerBuilder
下面完成客戶端PowerBuilder的配置工作。
1. 配置ODBC數(shù)據(jù)源。
Informix數(shù)據(jù)庫(kù)既可以通過ODBC連接,也可以通過專用接口連接,本文介紹ODBC連接方式。
打開Windows控制面板,雙擊“ODBC數(shù)據(jù)源”,在“ODBC數(shù)據(jù)源管理器”對(duì)話框中創(chuàng)建用戶DSN。單擊“添加”按鈕,打開“創(chuàng)建數(shù)據(jù)源”對(duì)話框。選擇驅(qū)動(dòng)程序Informix-CLI2.5(32 bits),再通過向?qū)Т蜷_“ODBC INFORMIX7.2 Driver Setup”對(duì)話框,輸入“數(shù)據(jù)源名”為atmdsn,“數(shù)據(jù)庫(kù)名”為atm。
2. 創(chuàng)建數(shù)據(jù)庫(kù)描述文件。
在PowerBuilde 8中,通過ODBC連接到數(shù)據(jù)庫(kù)需要經(jīng)過兩個(gè)步驟: 創(chuàng)建數(shù)據(jù)源和創(chuàng)建數(shù)據(jù)庫(kù)描述文件。
在創(chuàng)建數(shù)據(jù)庫(kù)后,啟動(dòng)PowerBuilde 8后,單擊“DBProf”按鈕,打開“Database Profiles”對(duì)話框,單擊“ODB ODBC”圖標(biāo),然后單擊“New”按鈕,打開“Database Profile Setup-ODBC”對(duì)話框。在“Connection”選項(xiàng)卡的“Profile Name”文本框中輸入數(shù)據(jù)庫(kù)描述文件的名字為atmpro,在數(shù)據(jù)源下拉列表框中選上一步創(chuàng)建的數(shù)據(jù)源atmdsn,在“User ID”和“Password”文本框中分別輸入連接數(shù)據(jù)庫(kù)時(shí)的用戶標(biāo)識(shí)Informix和密碼ccb。
然后單擊“Preview”選項(xiàng)卡,就可以預(yù)覽所創(chuàng)建的數(shù)據(jù)庫(kù)描述文件,即按照數(shù)據(jù)庫(kù)描述文件的語法格式顯示通過這些對(duì)話框的各個(gè)選項(xiàng)卡所設(shè)置的相關(guān)參數(shù)。單擊其中的“Test Connection”按鈕可測(cè)試所建立的連接。單擊其中的“Copy”按鈕可將其中的數(shù)據(jù)庫(kù)描述文件復(fù)制到剪切板上。若復(fù)制到應(yīng)用中,并加上connect語句,就可實(shí)現(xiàn)以程序方式與數(shù)據(jù)庫(kù)連接。
數(shù)據(jù)庫(kù)描述文件創(chuàng)建完成后,在“Database Profile”對(duì)話框中,選擇“ODB ODBC”文件夾下新創(chuàng)建的數(shù)據(jù)庫(kù)描述文件atmpro,然后單擊“Connect”按鈕,即可連接到服務(wù)器端Unix平臺(tái)的Informix-Online數(shù)據(jù)庫(kù)服務(wù)器的數(shù)據(jù)庫(kù)atm上。
(計(jì)算機(jī)世界報(bào) 第03期 D20、D22)
|