报表开发工具Finereport中,对于Informix数据库,定义数据连接处进行如下配置:
数据库:Others
驱动器:com.informix.jdbc.IfxDriver
URL:
jdbc:informix-sqli://localhost:port/mydatabase:INFORMIXSERVER=mydatabase
用户名:username
密码:password
说明:
1. 在WebReport工程下的WEB-INF\lib下,已有JDBC驱动包:Informix的jar包,其名字为ifxjdbc.jar。
2. 选择了数据库类型是Others之后,默认会带出来ODBC的驱动写法。驱动器一定要改。
3. Informix在安装时需要定义一个用户名和密码,和Oracle的安装是类似的。所以定义连接时,用户名密码一定不是空的。如果有用户反映说没有用户名密码,也必须要创建一个,否则是连接不成功的。
1. jdbc连接Informix中文显示乱码
informix不支持gbk,jdbc连接时,中文会显示乱码,报错informix Locale not supported ,那么怎么才能使用jdbc连接informix呢?
1.1 解决思路
自己手动定义NEWCODESET设置。
· NEWCODESET格式:
NEWCODESET=JDK-encoding,Ifx-codeset,Ifx-codeset-number
JDK-encoding对应java中的encoding是gbk;ifx-codeset对应数据库中的编码格式,是ISO885901;ifx-codeset-number对应informix数据库编码id,手册中8859-1对应的是819。
修改JDBC连接的url配置如下:
jdbc:informix-sqli:ip:port/test:informixserver=test;NEWCODESET=gbk,8859-1,819
如果informix的语言环境为GB18030,其jdbc的URL链接参数设置如下:
jdbc:informix-sqli://ip:8090/sky:INFORMIXSERVER=test;DB_LOCALE=zh_cn.GB18030-2000;CLIENT_LOCALE=zh_cn.GB18030-2000;NEWCODESET=GB18030,GB18030-2000,5488;DBDATE=Y4MD