我正在将一个旧商店从Win2003 IIS6服务器移动到Win2008 IIS7服务器,将所有内容移动到包括数据库。前端似乎工作得很好,但是当我登录时,它必须根据日期范围提取数据,现在我从哪里得到这个错误?
The conversion of a varchar data type to a datetime data type resulted in an out-of-range value
为什么会在新服务器而不是旧服务器上执行此操作的任何想法?没有代码更改,DB是旧服务器的备份??
答案 0 :(得分:1)
答案 1 :(得分:1)
从错误消息中,这里可能发生的是ASP应用程序正在向SQL服务器发送日期字符串,例如它正在使用Where子句构建查询:
WHERE SomeDateField > '20/04/2010'
...新平台上的一些不同区域设置阻止SQL解析日期字符串。通常,这归结为美国与英国的日期格式,将月份放在不同的地方。之一:
从我们下面的对话中,看起来它可能是SQL中的区域设置。
在SQL Server Standard中,通常有以下语言设置可以影响解析日期字符串的方式:
我很确定SQL Express也会有相同的设置。在两台服务器上启动“Microsoft SQL Server Management Studio Express”,并比较服务器和登录语言设置。