一台服务器的字符集是AMERICAN_AMERICA.WE8ISO8859P1,我用JPA(toplink)去取,取出来的数据插入到自己服务器,字符集AL32UTF8,发现日期没有时分秒,我自己把取出来的数据转成字符串打印,也没有时分秒;用DBLINK连接查出来的是有的,用C++Builder取出来也有,为什么用JPA取出来的没有,我设置myEclipse程序文件编码是UTF-8,直接用myeclipde那个数据库管理工具也是没有时分秒的,是不是环境变量要修改什么东西,谢谢!

解决方案 »

  1.   

    你的日期格式是date格式的吗还是字符串格式的?
    试下把你的字符集改成服务器的字符集。
      

  2.   

    不妨在客户端的注册表里修改一下试试:   在客户端的注册表HKEY_LOCAL_MACHINE->SOFTWARE->ORACLE->HOME0中,如无系统变量NLS_DATE_FORMAT,则“新建”->“字符串”,重命名为“NLS_DATE_FORMAT”,赋值为:“YYYY-MM-DD HH24:MI:SS”。 
      

  3.   


    我的服务器也是数据库不能改到和取数据一样的字符集,在网上查了,是由于JDBC不支持,
      

  4.   


    改了注册表还是不行,
    工尝试了这个方法也不行,
    http://www.blogjava.net/midea0978/archive/2008/06/13/207655.html
      

  5.   

    我把toplink的映射脚本改成String类型就可以了,
    在入到我的数据库时,把时间parse下就可以了。