2个使用相同数据库的web服务器.一个是抛出日期超出范围的错误



我正在将一个经典的asp网站从windows 2k3服务器/is6环境迁移到windows 2008r2/is7。有几个页面将系统日期传递给mssql数据库,出现以下错误:将char数据类型转换为datetime数据类型导致datetime值超出范围。通过的日期为"2011年1月13日上午hh:mm:ss"。据我所知,数据库将此解释为第13个月,这就是错误的原因。

我不明白的是这个日期到底是从哪里来的。页面使用以下代码段作为日期:

    FormatDateTime(DATE() & " " & Time(), vbGeneralDate)

这应该返回mm/dd/yyyy格式的日期,但似乎没有。由于web服务器使用相同的数据库,我认为问题一定是特定于web服务器的。

我检查了控制面板/区域设置,两者都设置为美国英语,那里的格式似乎是正确的。是系统日期&其他地方指定的时间格式?我在IIS中找不到任何可以设置默认日期格式的内容

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

更多信息:http://www.w3schools.com/asp/prop_lcid.asp

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

相关内容

最新更新