我正在尝试使用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的一部分 机器上的区域设置指定不使用它。
答案 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部分中的文化设置更改为您所在的国家/地区,并且应该修复它。