我正在将一个经典的asp网站从windows 2k3服务器/ iis6环境转移到windows 2008r2 / iis7。有几个页面将系统日期传递给mssql数据库,并发生以下错误:将char数据类型转换为datetime数据类型会导致超出范围的datetime值。通过的日期是'13 / 01/2011 hh:mm:ss AM'。据我所知,数据库将此解释为第13个月,这就是错误的原因。
我不明白的是这个日期究竟来自哪里。该页面使用此代码段作为日期:
FormatDateTime(DATE() & " " & Time(), vbGeneralDate)
这应该以mm / dd / yyyy格式返回日期,但似乎没有。由于Web服务器使用相同的数据库,我认为问题必须是特定于Web服务器的。
我检查了控制面板/区域设置,两者都设置为美国英语,其格式似乎是正确的。是系统日期&其他地方指定的时间格式?我在IIS中找不到任何可以设置默认日期格式的内容
答案 0 :(得分:1)
我认为您的代码中需要一个Session.LCID(= LCID)行。
答案 1 :(得分:1)
问题最终成为控制面板中的系统区域设置 - >地区和语言。此设置“控制在不支持Unicode的程序中显示文本时使用的语言。”