设为首页 加入收藏

TOP

informix的使用之在java中连接informix(一)
2017-11-22 06:07:14 】 浏览:716
Tags:informix 使用 java 连接

java中连接informix

网上有些关于这个的文章,纯粹扯淡(关于驱动的jar包,解决中文乱码的),

仅需一个jar包,

1,添加驱动

然后如果用maven管理项目

下载到本地仓

或者将


  
    
   
    com.ibm.informix
   
    
   
    jdbc
   
    
   
    4.10.9
   

  

此段代码复制到项目的pom.xml中

2.代码中书写url

String url= "jdbc:informix-sqli://"+ip+":"+port+"/"+databaseName+":INFORMIXSERVER="+serverName+";NEWCODESET=GB2312,8859-1,819;IFX_USE_STRENC=true";

对url中的个参数做解释:ip 数据库的ip地址,port 数据库端口号,databaseName 数据库名称,

serverName 数据库服务名称(安装informix数据库时创建),NEWCODESET中三个编码依次分别是

(1)客户端存入或查询出数据使用的编码集(可以utf8,GB2312,gb18030,以上三种支持中文),按照格式随意指定字符集,只要保持查询数据时候与插入数据时候使用的一致便不会乱码。

(2)数据库编码集(可以是8859-1,gb18030-2000(支持中文)),改字符集是在安装时候在数据库配置文件中指定的,并且环境变量生效的,可以使用sql:select site from informix.systables where tabname = ’ GL_COLLATE’ 查询出来,活着在环境变量里查看。

(3)编码集在informix字典中的编号 例如819即iso8859-1,5488 即gb18030(本人目前只是用过以上两种,并不表示只支持此两种),翻过informix的驱动支持的如下:

static {
        if (IfxToJdkEncodingTable == null) {
            IfxToJdkEncodingTable = new Hashtable();
            IfxToJdkEncodingTable.put("8859-1", "ISO8859_1");
            IfxToJdkEncodingTable.put("8859-2", "ISO8859_2");
            IfxToJdkEncodingTable.put("8859-3", "ISO8859_3");
            IfxToJdkEncodingTable.put("8859-4", "ISO8859_4");
            IfxToJdkEncodingTable.put("8859-5", "ISO8859_5");
            IfxToJdkEncodingTable.put("8859-6", "ISO8859_6");
            IfxToJdkEncodingTable.put("8859-7", "ISO8859_7");
            IfxToJdkEncodingTable.put("8859-8", "ISO8859_8");
            IfxToJdkEncodingTable.put("8859-9", "ISO8859_9");
            IfxToJdkEncodingTable.put("8859-13", "ISO8859_13");
            IfxToJdkEncodingTable.put("8859-15", "ISO8859_15_FDIS");
            IfxToJdkEncodingTable.put("Latin-9", "ISO8859_15_FDIS");
            IfxToJdkEncodingTable.put("ASCII", "ASCII");
            IfxToJdkEncodingTable.put("sjis-s", "SJIS");
            IfxToJdkEncodingTable.put("utf8", "UTF8");
            IfxToJdkEncodingTable.put("big5", "Big5");
            IfxToJdkEncodingTable.put("CP1250", "Cp1250");
            IfxToJdkEncodingTable.put("CP1251", "Cp1251");
            IfxToJdkEncodingTable.put("CP1252", "Cp1252");
            IfxToJdkEncodingTable.put("CP1253", "Cp1253");
            IfxToJdkEncodingTable.put("CP1254", "Cp1254");
            IfxToJdkEncodingTable.put("CP1255", "Cp1255");
            IfxToJdkEncodingTable.put("CP1256", "Cp1256");
            IfxToJdkEncodingTable.put("CP1257", "Cp1257");
            IfxToJdkEncodingTable.put("cp949", "KSC5601");
            IfxToJdkEncodingTable.put("KS5601", "KSC5601");
            IfxToJdkEncodingTable.put("ksc", "KSC5601");
            IfxToJdkEncodingTable.put("gb", "GBK");
            IfxToJdkEncodingTable.put("GB2312-80", "GBK");
            IfxToJdkEncodingTable.put("cp936", "GBK");
            IfxToJdkEncodingTable.put("CP850", "
首页 上一页 1 2 3 4 下一页 尾页 1/4/4
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇left join、right join、inner jo.. 下一篇MySQL主从复制技术的简单实现

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目