informix-online動(dòng)態(tài)服務(wù)器 Client/Server配置
一.與本地
服務(wù)器的連接方式
與本地?cái)?shù)據(jù)庫服務(wù)器有兩種連接方式:
1.1.通過共享內(nèi)存。當(dāng)應(yīng)用和數(shù)據(jù)庫服務(wù)器在同一臺(tái)主機(jī)上時(shí),推薦使用這種方式。在這種方式下,應(yīng)用與online系統(tǒng)連接到同一段共享內(nèi)存。應(yīng)用把消息放到該段上供online處理,online處理完后再把結(jié)果放回到該段,讓應(yīng)用取走。
1.2.使用套接字(sockets)或TLI編程接口,通過TCP/IP連接。無論是本地還是遠(yuǎn)程連接都可以使用這種方式。當(dāng)應(yīng)用和數(shù)據(jù)庫服務(wù)器在同一臺(tái)主機(jī)上時(shí),informix采用網(wǎng)絡(luò)的回送機(jī)制。
配置參數(shù)和環(huán)境變量的設(shè)置取決于應(yīng)用與數(shù)據(jù)庫服務(wù)器的連接方式。
采用共享內(nèi)存作為本地連接的好處是性能較好。但是存放信息的共享內(nèi)存段并不安全。因?yàn)橛脩艨梢杂幸鉄o意的破壞該段。因此,如果一個(gè)系統(tǒng)對(duì)安全性要求較高。就應(yīng)使用TCP/IP的連接方式。
二.與online的遠(yuǎn)程連接
應(yīng)用與遠(yuǎn)程online系統(tǒng)連接,必須通過TCP/IP或IPX/SPX。通過TCP/IP與online系統(tǒng)連接的同時(shí),也可以通過共享內(nèi)存方式與online連接。即可以用混合方式連接到online系統(tǒng)。
三.通過TCP/IP的遠(yuǎn)程連接
informix通過以下接口與TCP/IP通訊
sockets
TLI(Transport Layer Interfaces)
套接字和TLI(transport layer interface)是用于控制應(yīng)用層和網(wǎng)絡(luò)層的接口。它們的調(diào)用相似,并可以完成相同的任務(wù)(例如:連接數(shù)據(jù)、收發(fā)數(shù)據(jù))??梢圆榭?INFORMIXDIR/release目錄下的文件以便確定你的硬件平臺(tái)提供了哪種接口。
四.客戶如何連接
當(dāng)應(yīng)用要與數(shù)據(jù)庫服務(wù)連接時(shí),必須設(shè)置一些基本的連接信息。這些信息存儲(chǔ)在$INFORMIXDIR/etc/sqlhosts文件中,該文件須由online系統(tǒng)管理員維護(hù)。
應(yīng)用必須設(shè)置informixserver環(huán)境變量。該變量值指向sqlhosts文件的一個(gè)入口。對(duì)于和online的一個(gè)連接,該值就是online配置文件的DBSERVERNAME的值,它可以是sqlhosts文件中任意一個(gè)唯一的名字。
一旦應(yīng)用在sqlhosts文件中找到了正確的入口,它就可以獲得與數(shù)據(jù)庫服務(wù)器連接的必要信息。
如果應(yīng)用與數(shù)據(jù)庫服務(wù)器在不同的機(jī)器上,那么每臺(tái)機(jī)器上都應(yīng)有sqlhost文件。因?yàn)閿?shù)據(jù)庫服務(wù)器在初始化需要該文件。
四.使用TCP/IP客戶需要注意什么?
4.1.如果使用TCP/IP方式連接,則要提供以下信息:
主機(jī)在哪?informix需要主機(jī)的Internet地址,該地址存儲(chǔ)在/etc/hosts中。這個(gè)Internet是用"."分隔的一組數(shù)字。
主機(jī)上的端口號(hào)。端口號(hào)被客戶機(jī)用來指明它想和主機(jī)上的哪個(gè)服務(wù)器連接。主機(jī)上總有一個(gè)偵聽進(jìn)程在監(jiān)聽這個(gè)端口號(hào),等待來自客戶機(jī)的連接要求。該端口號(hào)在/etc/services文件中必須唯一。
與主機(jī)相連的程序接口,或者是套接字,或者是TLI。
4.2.TCP/IP連接的sqlhosts文件
dbservername:它是online的配置文件中的DBSERVERNAME值或DBSERVERALIASES值之一,它也是在啟動(dòng)之前設(shè)置的INFORMIXSERVER環(huán)境變量的值。
nettype:對(duì)于TLI應(yīng)為ontlitcp,對(duì)于套接字應(yīng)為onsoctcp。
hostname:數(shù)據(jù)庫服務(wù)器所在主機(jī)名。該值通常作為鍵值,以便在/etc/hosts文件中查找該主機(jī)IP地址。
servername:與主機(jī)相連的服務(wù)的名字。該值通常作為鍵值,以便在/etc/services文件中查找端口號(hào)及協(xié)議。