首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > Informix >

informix11.5 插入日期报错,该如何处理

2012-02-04 
informix11.5 插入日期报错informix11.5 插入日期报错我用的系统是aix,数据库为informix11.5 。程序是java

informix11.5 插入日期报错
informix11.5 插入日期报错 
 我用的系统是aix,数据库为informix11.5 。程序是java做的。之前连接不上数据库,后来我在连接字符串中 dburl=jdbc:informix-sqli://192.168.6.155:5000/storec:INFORMIXSERVER=guanz;DB_LOCALE=zh_CN.gb;一个;DB_LOCALE=zh_CN.gb就可以连接了。
但是我做插入时总提示java.sql.SQLException: Invalid month in date.
sql 语句如下:

insert into COREC( CERTID, CARDID, CERTTYPE, CUSTNAME, GENDER, STOREID, SALEDATE, STATUS, TEL, 
CRTUSERID, CRTTIME, SENDSTATUS, ADDRESS, OCCUPATION, EDUCATION, VEHICLE, INCOME, MOBILE, EMAIL, COMPANY, POSTCODE ) values
('2310', '76150995015551062', '1', '杰', '2', '047', '2009-12-09', '2', '', '002582', '2009-12-09 16:24:35',
'0', '', '', '', '', '', '', '', '', '')

其中SALEDATE字段为date类型,'2009-12-09'为这种的之前的7.3的数据库可以插入,换成11.5之前插入不了。'2009 12月 09日'这种的才能插入。
为什么呢?怎能么解决?是不是因为;DB_LOCALE=zh_CN.gb之后还得添加什么参数,请指导。

[解决办法]
不同字符集环境下,默认的时间格式不一样,
针对楼主的问题,请尝试如下方式解决即可
在数据库服务器端,设置如下环境变量(如不行,可以重启服务器)
GL_DATE="%m/%d/%iy"
DATETIME="%iY-%m-%d %H:%M:%S"
export GL_DATE DATETIME
[解决办法]

C/C++ code
TO_DATE("2009-12-09 16:24:35", "%Y-%m-%d %H:%M:%S")/* 格式字符串参考C标准库函数strftime */ 

热点排行