我们最近已将其移至新的Web服务器。旧的Web服务器具有Windows Server 2008 R2,新的Web服务器具有Windows Server 2012 R2。数据库表和数据已被移动,所有列保持不变。新的Web服务器上的日期时间问题
问题是测试网站的登录页面时。它的工作原理非常旧的Web服务器上,但是在新服务器上,我们得到这个错误:
The conversion of a nvarchar data type to a datetime data type resulted in an out-of-range value. The statement has been terminated.
显然有与SQL Server新版本的一个问题,因为代码是相同的:
Dim strStartTime = DateTime.Now.ToString("dd/MM/yyyy HH:mm")
Dim strConnx As String = "Data Source=Server;Initial Catalog=TEST;User Id=user;Password=password;"
Dim cmdx As New SqlClient.SqlCommand("Insert into [LoginLog]([LogDate], [Consultant], [BU])VALUES (@LogDate, @Consultant, @BU)", New SqlClient.SqlConnection(strConnx))
cmdx.Connection.Open()
cmdx.Parameters.AddWithValue("@LogDate", strStartTime)
cmdx.Parameters.AddWithValue("@Consultant", txtUserName.Text)
cmdx.Parameters.AddWithValue("@BU", Session("BU"))
cmdx.ExecuteScalar()
cmdx.Connection.Close()
我们尝试了各种选项(设置SQL服务器上的日期格式以及Web服务器,但不解决这个问题 - 请帮助,感谢
+0
你试过了吗?DateTime.Now.ToString(“yyyy/MM/dd HH:mm”) –
+0
区域设置在旧服务器和新服务器之间是不同的。最好的选择是切换到ISO-8601格式(yyyymmdd) –