我們最近已將其移至新的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服務器,但不解決這個問題 - 請幫助,感謝
你試過了嗎?DateTime.Now.ToString(「yyyy/MM/dd HH:mm」) –
區域設置在舊服務器和新服務器之間是不同的。最好的選擇是切換到ISO-8601格式(yyyymmdd) – NoviceProgrammer