Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

MSSQL-Abfrage funktioniert nicht mehr mit Windows 10-Client:Die Konvertierung eines varchar-Datentyps in einen datetime-Datentyp führte zu einem Wert außerhalb des zulässigen Bereichs

Ich bestätige, dass die in diesem Thread vorgesehene Lösung mein Problem gelöst.

Nach einiger Recherche fanden wir heraus, dass ToString("yyyy-MM-dd HH:mm:ss") Der Aufruf reagierte in Windows 7 und Windows 10 unterschiedlich, wenn die aktuelle Kultur zur Laufzeit auf „no“ oder „nb-NO“ gesetzt war (Thread.CurrentThread.CurrentCulture = new CultureInfo("no"); ).

Die vorgeschlagene Änderung hat funktioniert:ToString("yyyy-MM-dd HH:mm:ss", CultureInfo.InvariantCulture) . Dies löst mein Problem, da die Punkte in der Zeitformatierung die Hauptursache waren.

Aber sollte ToString("yyyy-MM-dd HH:mm:ss") je nach Betriebssystem unterschiedliche Formatierungen in derselben Kultur zurückgeben? :O Das ist irgendwie beängstigend.