英文的操作系统中SQL Server插入时间的有关问题

英文的操作系统中SQL Server插入时间的问题

用JDBC执行sql语句,在本机上执行的很好,因为本机是中文的操作系统,而且这次的插入涉及到了时间,即是datetime类型,在java程序中我是用string来表示时间类型的。

sql语句如果在Eclipse里用调试的方法就可以看到是这样的

insert into tb_test  (a,b,c,date) values ('a','b','c','2011-6-22 15:54:00')

 

后面的时间是我通过代码得到的系统当前时间,这样的插入是没有问题的。

但是我把程序打成jar包,放到服务器上跑的时候,就发现时间插不进去了,而且会报一个异常:

com.jdbc.sqlserver.exception:???datetime???

 

我想这是因为服务器的英文的操作系统造成的,导致我代码得到的系统时间不对,插不到数据库里面去。

于是我在代码里面加了一段输出我所得到的时间,发现,在本机得到的是这样的格式:'2011-6-22 15:54:00'

而在服务器上的英文操作系统得到的确是这样的:Mon June...这样的,很明显是不对的。

 

解决方案如下:找到控制面板(control panel)-->区域和语言选项(regional and language options)

然后在区域选项将位置和自定义那一行都设置成中国,即PRC,这样就解决了。

 

这样的问题大家遇到的肯定比较少,但是还是总结出来,希望能帮到大家。