2个使用相同数据库的Web服务器。一个是将日期抛出范围错误

时间:2012-01-13 18:20:58

标签: sql-server-2005 iis-7 asp-classic

我正在将一个经典的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中找不到任何可以设置默认日期格式的内容

2 个答案:

答案 0 :(得分:1)

我认为您的代码中需要一个Session.LCID(= LCID)行。

更多关于此: http://www.w3schools.com/asp/prop_lcid.asp

答案 1 :(得分:1)

问题最终成为控制面板中的系统区域设置 - >地区和语言。此设置“控制在不支持Unicode的程序中显示文本时使用的语言。”