參考:
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? ? 對應(yīng)
綁定服務(wù)端口:
/etc/services
格式: port_alias? ? ? 8201/tcp
其中port_alias 對應(yīng)于sqlhosts 中servicename(dbservername? nettype? ? hostname? servicename)
關(guān)鍵:環(huán)境變量.bash_profile 里的名字和sqlhosts里dbservername服務(wù)里對應(yīng)的名字一致
----------------------------------------------------
使用JDBC接口連接時:
database 的userid /password 就是操作系統(tǒng)的用戶名/密碼,但需要注意 針對不同的庫可以設(shè)置訪問權(quán)限(GRANT xxx)只有對應(yīng)的用戶才可以訪問.可以使用命令GRANT xxx添加和修改
jdbc URL的連接串規(guī)則:可以參考官網(wǎng):https://www.ibm.com/developerworks/cn/data/library/techarticle/dm-1412connectinformix/index.html? (重點K癜尽H饶场!)
摘抄如下:
設(shè)置 JDBC 連接字符串
在 Java 程序中使用 JDBC 連接數(shù)據(jù)庫胳螟,首先應(yīng)該加載使用的 JDBC 類昔馋,IBM Informix JDBC Driver 的類名為 com.informix.jdbc.IfxDriver。
建立 Java 程序與 Informix 數(shù)據(jù)庫的連接需要使用 DriverManager.getConnection() 方法糖耸,該方法中的 URL 參數(shù)為一個數(shù)據(jù)庫的連接字符串秘遏,指定數(shù)據(jù)庫的連接信息。使用不同的 JDBC 所需的 URL 參數(shù)也不相同嘉竟。
使用 IBM Informix JDBC Driver 連接數(shù)據(jù)庫邦危,連接字符串的格式如下:
清單 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ù)庫服務(wù)器的 IP 地址主機(jī)名;
“{port-number|service-name}”為數(shù)據(jù)庫服務(wù)器監(jiān)聽客戶端連接的端口號或服務(wù)名边苹;
“dbname”為數(shù)據(jù)庫名陵且;
“servername”為數(shù)據(jù)庫實例名INFORMIXSERVER。
------------------------關(guān)于用戶訪問-----------------
靜態(tài)方式:只有onstat 查詢
聯(lián)機(jī)方式: onmode? -m 切換到多用戶
onmode -ky? 完全關(guān)閉勾给,y強制
onmode -u? 關(guān)閉所有嘗試的連接
onmode? -z? 殺掉一個特別的回話ID
啟動:? ? ? oninit
----------------------------------
關(guān)于informix 數(shù)據(jù)庫連接使用方法
http://www.alonely.com.cn/Informix/20160904/25933.html
方式一:MyEclipse直接連接Informix數(shù)據(jù)庫
準(zhǔn)備文件有:d:/ifxjdbc.jar
操作步驟:"開始"--“所有程序”--“MyEclipse 5.5”--"Windows"--"Open Perspctive"--"My Eclipse Database Explorer" 打開DB Browser窗體滩报,鼠標(biāo)右鍵"new"新建一個數(shù)據(jù)庫連接
Driver name:自定義連接標(biāo)識( 如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為Linux服務(wù)器IP锅知,databasename為Linux服務(wù)器數(shù)據(jù)庫名和informixservername為Linux服務(wù)器數(shù)據(jù)庫服務(wù)名稱
方式二:ODBC連接Informix數(shù)據(jù)庫
1.安裝IBM Informix Client-SDK 2.90
2.打開控制面板--數(shù)據(jù)源(ODBC)--新建一個新的系統(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