问题描述
本地:WIN7X64,VS2008,ORACLE11G服务器:WINSEVER2003x86,ORACLE10方法中有个插入时间类型的SQL语句,并且用到了to_date,本地调试没有问题,可以正确的插入服务器数据库中,可是发布到服务器后,再调用这个方法,发现日期格式发生了变化,导致to_date出现了错误ORA01843,无效的月份,原因我传递的是2014-12-19,可是却变成了20-12-2014,日期还加了一天。这是什么原因?又该如何解决?
解决方案
解决方案二:
是服务器的日期格式设置问题,你在服务器上设置成你自己要的样式,并确保服务器日期正确
解决方案三:
针对不同区域配置的服务器,你把datatime类型的字段,改成nvrchar类型的,虽然程序处理稍微要复杂点,但是省却配置麻烦
解决方案四:
引用2楼hrabeyond的回复:
针对不同区域配置的服务器,你把datatime类型的字段,改成nvrchar类型的,虽然程序处理稍微要复杂点,但是省却配置麻烦
我现在是在方法里在把参数转换一下,可又不想这样麻烦stringinsChe="insertintoo_check(che_code,che_desc,che_number,che_type,che_user,che_store,che_enddate)"+"values('"+pdCode+"','"+pdDesc+"','"+number+"','RW','"+userCode+"','"+pdStore+"',to_date('"+DateTime.Parse(endDate).ToString(@"yyyy/MM/dd")+"','YYYY-MM-DD'))";
解决方案五:
引用1楼bdmh的回复:
是服务器的日期格式设置问题,你在服务器上设置成你自己要的样式,并确保服务器日期正确
我看设置的没问题啊
时间: 2024-10-27 15:11:08