2017-03-31 45 views
0

我開發了一個在Azure中託管的應用。在我的開發機器上,當我編輯和保存日期(英國格式 - 保存到本地sql server 2012)theres沒有問題。當我部署相同的代碼庫天青(相同的數據庫結構& SQL Server版本 - 在VM數據庫託管在Azure中)即時得到一個錯誤天青網絡服務應用日期格式問題

「的值23/01/2014」是無效合同日期

有其他人經歷過這樣的事情,可以給我一些指針? 我將虛擬機上的操作系統設置爲英國地區,表中的基礎日期在本地和遠程都是完全相同的格式。有什麼明顯的我可以錯過?

+0

您可以使用[ISO 8601](https://docs.microsoft.com/en-us/sql/t-sql/data-types/date-transact-sql)格式YYYY-MM-DD,然後使用[FORMAT](https://docs.microsoft.com/en-us/sql/t-sql/functions/format-transact-sql)函數進行顯示。我知道這可能是你試圖避免的,但它完全避免了錯誤。 – scsimon

回答

0

值23/01/2014' 是無效合同日期

請運行dbcc useroptions檢查語言和日期格式。默認情況下,SQL服務器的日期格式採用美國日期格式MM/DD/YY,除非安裝了本地化版本的SQL Server。

您可以嘗試使用國際格式YYYYMMDD將日期時間數據發送到SQL Server或傳遞在SQL Server上使用的日期格式的日期。

+0

這個問題是不是與數據庫我檢查和它沒有被擊中,它的客戶端驗證多數民衆贊成在造成它。但是它在我的開發機器上驗證了英國的日期格式,只有在部署到Azure之後它才認爲它是美國格式的日期。我使用globalize.js驗證器,並將其設置爲en-GB。我的Azure環境是否需要本地化到英國?它在西歐主持 – user2347338

+0

「它的客戶端驗證導致它」,你的意思是錯誤是由客戶端的jQuery驗證器,而不是SQL數據庫返回? –