Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

La query MSSQL non funziona più con il client Windows 10:la conversione di un tipo di dati varchar in un tipo di dati datetime ha prodotto un valore fuori intervallo

Confermo che la soluzione proposta in questo thread risolto il mio problema.

Dopo alcune ricerche abbiamo scoperto che ToString("yyyy-MM-dd HH:mm:ss") la chiamata ha risposto in modo diverso in Windows 7 e Windows 10 se le impostazioni cultura correnti erano impostate su "no" o "nb-NO" in fase di esecuzione (Thread.CurrentThread.CurrentCulture = new CultureInfo("no"); ).

La modifica suggerita ha funzionato:ToString("yyyy-MM-dd HH:mm:ss", CultureInfo.InvariantCulture) . Questo risolve il mio problema, poiché i punti nella formattazione dell'ora erano la sua causa principale.

Ma ToString("yyyy-MM-dd HH:mm:ss") dovrebbe restituire una formattazione diversa nella stessa cultura a seconda del sistema operativo? :O Questo è un po' spaventoso.