Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Zapytanie MSSQL nie działa już z klientem Windows 10:konwersja typu danych varchar na typ danych datetime spowodowała wartość spoza zakresu

Potwierdzam, że rozwiązanie przewidziane w tym wątku rozwiązał mój problem.

Po kilku badaniach odkryliśmy, że ToString("yyyy-MM-dd HH:mm:ss") wywołanie odpowiedziało inaczej w Windows 7 i Windows 10, jeśli bieżąca kultura została ustawiona na "no" lub "nb-NO" w czasie wykonywania (Thread.CurrentThread.CurrentCulture = new CultureInfo("no"); ).

Sugerowana modyfikacja załatwiła sprawę:ToString("yyyy-MM-dd HH:mm:ss", CultureInfo.InvariantCulture) . To rozwiązuje mój problem, ponieważ kropki w formatowaniu czasu były jego główną przyczyną.

Ale czy ToString("rrrr-MM-dd GG:mm:ss") powinien zwracać różne formatowanie w tej samej kulturze w zależności od systemu operacyjnego? :O To trochę przerażające.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. serwer sql połączony z serwerem Oracle nie zwraca żadnych danych, gdy dane istnieją

  2. Crystal Reports a usługi raportowania Microsoft SQL Server

  3. Jak mogę zapobiec wstawianiu zduplikowanych danych do tabeli programu SQL Server?

  4. Jak uzyskać najnowszy rekord z tabeli SQL Server na podstawie znacznika czasu?

  5. SQL-Server ignoruje moje COLLATION, gdy używam operatora LIKE