我制作了一个小的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
如果我尝试注册一个帐户。我尝试将所有的smalldatetime列更改为datetime2列,但出现了相同的错误,即使没有smalldatetime? 有人有什么想法吗?谢谢。
编辑:未来的人们 - 我不确定为什么这样修复了它,但我在SQL Express 2008中重新创建了表,而不是SQL 2012,然后将它们移动过去。工作正常。
smalldatetime
的日期范围为1900-01-01到2079-06-06,而datetime2
的日期范围为0001-01-01到9999-12-31。请检查您的任何值是否超出了smalldatetime
的范围。您是否有使用smalldatetime
变量或具有smalldatetime
参数的存储过程或函数? - Mikael Eriksson