參考:
https://stackoverflow.com/questions/31301744/informixserver-does-not-match-dbservername-or-any-of-the-dbserveraliases-ibm-i
https://www.ibm.com/developerworks/data/library/techarticle/dm-0606bombardier/
過程大致分為:
"Create environment files" , "Add your server to the sqlhosts file", 綁定端口、"Create the onconfig file."'
環(huán)境變量:
set INFORMIXDIR=/opt/informix
set INFORMIXSQLHOSTS=/opt/informix/etc/sqlhosts
set ONCONFIG=onconfig
set INFORMIXSERVER=myserver
set SERVERNUM=1
set PATH=$INFORMIXDIR/bin:.:$PATH
sqlhost文件:
/home/informix/etc/sqlhosts
格式規(guī)范:? dbservername? nettype? ? hostname? servicename
注意:dbservername? 需要和環(huán)境變量中的INFORMIXSERVER? ? 對(duì)應(yīng)
綁定服務(wù)端口:
/etc/services
格式: port_alias? ? ? 8201/tcp
其中port_alias 對(duì)應(yīng)于sqlhosts 中servicename(dbservername? nettype? ? hostname? servicename)
關(guān)鍵:環(huán)境變量.bash_profile 里的名字和sqlhosts里dbservername服務(wù)里對(duì)應(yīng)的名字一致
----------------------------------------------------
使用JDBC接口連接時(shí):
database 的userid /password 就是操作系統(tǒng)的用戶名/密碼,但需要注意 針對(duì)不同的庫(kù)可以設(shè)置訪問權(quán)限(GRANT xxx)只有對(duì)應(yīng)的用戶才可以訪問.可以使用命令GRANT xxx添加和修改
jdbc URL的連接串規(guī)則:可以參考官網(wǎng):https://www.ibm.com/developerworks/cn/data/library/techarticle/dm-1412connectinformix/index.html? (重點(diǎn)!!?。?/p>
摘抄如下:
設(shè)置 JDBC 連接字符串
在 Java 程序中使用 JDBC 連接數(shù)據(jù)庫(kù),首先應(yīng)該加載使用的 JDBC 類,IBM Informix JDBC Driver 的類名為 com.informix.jdbc.IfxDriver。
建立 Java 程序與 Informix 數(shù)據(jù)庫(kù)的連接需要使用 DriverManager.getConnection() 方法,該方法中的 URL 參數(shù)為一個(gè)數(shù)據(jù)庫(kù)的連接字符串,指定數(shù)據(jù)庫(kù)的連接信息。使用不同的 JDBC 所需的 URL 參數(shù)也不相同。
使用 IBM Informix JDBC Driver 連接數(shù)據(jù)庫(kù),連接字符串的格式如下:
清單 4. 使用 IBM Informix JDBC Driver,連接字符串格式
jdbc:informix-sqli://[{ip-address|host-name}:{port-number|service-name}][/dbname]:
INFORMIXSERVER=servername[{;user=user;password=password]
|CSM=(SSO=database_server@realm,ENC=true)} [;name=value[;name=value]...]
其中,“jdbc:informix-sqli”指定使用的 JDBC 為 IBM Informix JDBC Driver;
“{ip-address|host-name}”為數(shù)據(jù)庫(kù)服務(wù)器的 IP 地址主機(jī)名;
“{port-number|service-name}”為數(shù)據(jù)庫(kù)服務(wù)器監(jiān)聽客戶端連接的端口號(hào)或服務(wù)名;
“dbname”為數(shù)據(jù)庫(kù)名;
“servername”為數(shù)據(jù)庫(kù)實(shí)例名INFORMIXSERVER。
------------------------關(guān)于用戶訪問-----------------
靜態(tài)方式:只有onstat 查詢
聯(lián)機(jī)方式: onmode? -m 切換到多用戶
onmode -ky? 完全關(guān)閉,y強(qiáng)制
onmode -u? 關(guān)閉所有嘗試的連接
onmode? -z? 殺掉一個(gè)特別的回話ID
啟動(dòng):? ? ? oninit
----------------------------------
關(guān)于informix 數(shù)據(jù)庫(kù)連接使用方法
http://www.alonely.com.cn/Informix/20160904/25933.html
方式一:MyEclipse直接連接Informix數(shù)據(jù)庫(kù)
準(zhǔn)備文件有:d:/ifxjdbc.jar
操作步驟:"開始"--“所有程序”--“MyEclipse 5.5”--"Windows"--"Open Perspctive"--"My Eclipse Database Explorer" 打開DB Browser窗體,鼠標(biāo)右鍵"new"新建一個(gè)數(shù)據(jù)庫(kù)連接
Driver name:自定義連接標(biāo)識(shí)( 如informix.jdbc.IfxDriver)
nnection URL:jdbc:informix-sqli://192.168.1.249:9000/databasename:informixserver=informixservername;newcodeset=GBK,8859-1,819
User name: informix
Password: informix
Driver JARs :d:/ifjdbc.jar
其中192.168.1.249為L(zhǎng)inux服務(wù)器IP,databasename為L(zhǎng)inux服務(wù)器數(shù)據(jù)庫(kù)名和informixservername為L(zhǎng)inux服務(wù)器數(shù)據(jù)庫(kù)服務(wù)名稱
方式二:ODBC連接Informix數(shù)據(jù)庫(kù)
1.安裝IBM Informix Client-SDK 2.90
2.打開控制面板--數(shù)據(jù)源(ODBC)--新建一個(gè)新的系統(tǒng)DSN,設(shè)置如下:
Server Name: Informix Server
Host Name :192.168.1.249
Service :sqlexecl
protocol :onsoctcp
Options :
Database Name :DataBaseName
User Id : Informix User Name
Password? : Informix Password
3.設(shè)置Windows系統(tǒng)文件service內(nèi)容
C:/WINDOWS/system32/drivers/etc/service
man? ? ? ? ? ? ? 9535/tcp? ? ? ? ? ? ? ? ? ? ? ? ? #Remote Man Server
sqlexecl? 9003/tcp? ? ? ? #Remote Linux Informix Data Server
3.設(shè)置Windows系統(tǒng)文件hosts內(nèi)容
C:/WINDOWS/system32/drivers/etc/hosts
127.0.0.1? ? ? localhost
192.168.1.249 LinuxMachineName