在IIS 7.0和win2k8中,您有多少个不同的地方可以设置日期格式

时间:2009-03-16 23:03:24

标签: iis iis-7 asp-classic windows-server-2008

我正在尝试使用win2k8将旧的经典asp应用程序迁移到IIS 7.0,如果我能帮助它,我肯定不想更改旧代码。

我在日期格式的自定义区域选项中设置了日期格式 在控制面板中的区域和语言选项dd-MMM-yy。

我仍然收到Conversion_failed_when_converting_datetime_from_character_string 即使重新启动后使用此日期格式的错误。

我也在使用SQL Server Express 2005。

您还需要设置日期格式吗?是否应该从机器设置中取出它们?

旧代码做了一些非常愚蠢的事情,但我再次不想改变它然后再次测试它。

旧代码有效地做到了这一点 “插入MyTable(ThisDate)值('”& Now()&“')”

生成插入MyTable(ThisDate)值('17 / 03/2009 3:40:48 p.m。')

Msg 241,Level 16,State 1,Line 1 从字符串转换datetime时转换失败。

实际上抱怨的是“p.m.”字符串dispite的一部分 机器上的区域设置指定不使用它。

3 个答案:

答案 0 :(得分:5)

这是一个非常烦人的问题,它来自于安装Server 2008,其区域设置与您最终想要使用的区域设置不同。

通常,在将服务器设置为USA并且用户随后将位置设置为UK的情况下会出现此问题。然后当代码执行时,它返回1/17/2012而不是17/1/2012,是的SQL Server可能会返回错误,如“Conversion_failed_when_converting_datetime_from_character_string”。

问题是IUSR帐户有自己的区域设置,这是服务器在执行经典ASP时使用的设置。这是你需要做的修复它...

从“控制面板”中打开“区域和语言”选项。您应该看到“管理”选项卡,单击“复制设置”。确保“当前用户”下列出的设置是您要复制的设置,如果它们没有回溯到键盘布局等并设置它们。勾选“欢迎屏幕和系统帐户”框,然后单击“确定”。重新启动。

现在应该可以了。

答案 1 :(得分:1)

只有一个地方你必须设置它,对于任何注意区域设置的应用程序,你已经将它设置在那里。

什么是“Conversion_failed_when_converting_datetime_from_character_string”? VBScript的?也许它没有注意区域设置。

答案 2 :(得分:1)

您所要做的就是将.Net Globalization部分中的文化设置更改为您所在的国家/地区,并且应该修复它。