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