參考:
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."'
環境變量:
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
格式規范:? dbservername? nettype? ? hostname? servicename
注意:dbservername? 需要和環境變量中的INFORMIXSERVER? ? 對應
綁定服務端口:
/etc/services
格式: port_alias? ? ? 8201/tcp
其中port_alias 對應于sqlhosts 中servicename(dbservername? nettype? ? hostname? servicename)
關鍵:環境變量.bash_profile 里的名字和sqlhosts里dbservername服務里對應的名字一致
----------------------------------------------------
使用JDBC接口連接時:
database 的userid /password 就是操作系統的用戶名/密碼,但需要注意 針對不同的庫可以設置訪問權限(GRANT xxx)只有對應的用戶才可以訪問.可以使用命令GRANT xxx添加和修改
jdbc URL的連接串規則:可以參考官網:https://www.ibm.com/developerworks/cn/data/library/techarticle/dm-1412connectinformix/index.html? (重點!!!)
摘抄如下:
設置 JDBC 連接字符串
在 Java 程序中使用 JDBC 連接數據庫,首先應該加載使用的 JDBC 類,IBM Informix JDBC Driver 的類名為 com.informix.jdbc.IfxDriver。
建立 Java 程序與 Informix 數據庫的連接需要使用 DriverManager.getConnection() 方法,該方法中的 URL 參數為一個數據庫的連接字符串,指定數據庫的連接信息。使用不同的 JDBC 所需的 URL 參數也不相同。
使用 IBM Informix JDBC Driver 連接數據庫,連接字符串的格式如下:
清單 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}”為數據庫服務器的 IP 地址主機名;
“{port-number|service-name}”為數據庫服務器監聽客戶端連接的端口號或服務名;
“dbname”為數據庫名;
“servername”為數據庫實例名INFORMIXSERVER。
------------------------關于用戶訪問-----------------
靜態方式:只有onstat 查詢
聯機方式: onmode? -m 切換到多用戶
onmode -ky? 完全關閉,y強制
onmode -u? 關閉所有嘗試的連接
onmode? -z? 殺掉一個特別的回話ID
啟動:? ? ? oninit
----------------------------------
關于informix 數據庫連接使用方法
http://www.alonely.com.cn/Informix/20160904/25933.html
方式一:MyEclipse直接連接Informix數據庫
準備文件有:d:/ifxjdbc.jar
操作步驟:"開始"--“所有程序”--“MyEclipse 5.5”--"Windows"--"Open Perspctive"--"My Eclipse Database Explorer" 打開DB Browser窗體,鼠標右鍵"new"新建一個數據庫連接
Driver name:自定義連接標識( 如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服務器IP,databasename為Linux服務器數據庫名和informixservername為Linux服務器數據庫服務名稱
方式二:ODBC連接Informix數據庫
1.安裝IBM Informix Client-SDK 2.90
2.打開控制面板--數據源(ODBC)--新建一個新的系統DSN,設置如下:
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.設置Windows系統文件service內容
C:/WINDOWS/system32/drivers/etc/service
man? ? ? ? ? ? ? 9535/tcp? ? ? ? ? ? ? ? ? ? ? ? ? #Remote Man Server
sqlexecl? 9003/tcp? ? ? ? #Remote Linux Informix Data Server
3.設置Windows系統文件hosts內容
C:/WINDOWS/system32/drivers/etc/hosts
127.0.0.1? ? ? localhost
192.168.1.249 LinuxMachineName