Wydaje się, że problem wynika z niedopasowania parametrów NLS w kliencie i baza danych . W przypadku takich pytań zawsze pamiętaj, aby opublikować szczegóły systemu operacyjnego, wersja DB do 4 miejsc po przecinku.
Aby sprawdzić wartości parametrów:
SELECT * FROM v$nls_parameters;
SELECT * FROM nls_database_parameters;
-
Ustaw NLS_DATE_LANGUAGE w kliencie dokładnie tak samo jak w bazie danych. W Twoim przypadku NLS_DATE_LANGUAGE w bazie danych to AMERICAN .
-
Ustaw zmienną środowiskową dla NLS_LANG jako :
[NLS_LANGUAGE]_[NLS_TERRITORY].[NLS_CHARACTERSET]
więc ustaw go jako AMERICAN_AMERICA.WE8MSWIN1252
- Kolejną obserwacją jest to, że inne parametry NLS również muszą zostać zmienione w kliencie, aby dopasować je do bazy danych. W przeciwnym razie od czasu do czasu znajdziesz podobne problemy, ale nie z DATE.