参考:
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
网友评论