【发布时间】:2012-05-04 06:19:06
【问题描述】:
我制作了一个小型 MVC4 应用程序,并在我的本地 SQL 2012 服务器上制作了数据库。 “导入”了我 2012 年的数据,将其作为 sql 2008 的生产数据转移到我的廉价共享主机中。一切正常。对非 aspmembership 表进行了一些更改,并从 sql 2008 中删除了表并重新导入。 不是出于某种原因我收到此错误
The conversion of a datetime2 data type to a smalldatetime data type resulted in an out-of-range value.\r\nThe statement has been terminated
如果我尝试注册一个帐户。我尝试将所有 smalldatetimecolumns 更改为 datetime2 列,但由于某种原因,即使没有 smalldatetimes,也会出现相同的错误?
有人有什么想法吗?谢谢。
编辑:未来的人 - 我不确定为什么要修复它,但我在 SQL express 2008 而不是 SQL 2012 中重新创建了表,然后将它们移动了过去。工作正常。
【问题讨论】:
-
看来日期早于神奇的年份
1753,因此smalldatetime失败,您能检查导致此问题的值 -
smalldatetime 的日期范围是 1900-01-01 到 2079-06-06,datetime2 的日期范围是 0001-01-01 到 9999-12-31。检查您的任何值是否超出
smalldatetime的范围。您是否有任何使用smalldatetimevariables 或具有smalldatetime参数的存储过程或函数?
标签: c# asp.net-mvc sql-server-2008