Ĺadny brzuch
Jak zmienić format daty w bazie Oracla
Istnieje zapytanie
alter session set nls_date_format = 'yyyy-mm-dd'
ale to jest rozwiązanie tymczasowe a chodzi mi o zmianę na serverze na stałe
Zmien w rejestrze - taki sam klucz (ta sama nazwa). BTW - zmiana tego nie zawsze jest dobra, jak cos piszesz lepiej nie zdawac sie na ustawienia orakla, tylko samemu zmieniac formatowanie daty (to_char i to_date)
Niebardzo rozumiem to rozwiązanie. Wiem że można jakoś kożystając z klienta po zalogowaniu się na system jako sysdba ale nieweim konkretnie gdzie tego szukać,
Ewentualnie miłobybyło gdyby ktoś mi powiedział gdzie się to przestawia w TOADzie
skoro nie rozumiesz to znaczy ze zaczynasz w oraklu - poczytaj w doc pl/sql. A skoro zaczynasz to ciekawe po co Ci TOAD. To wielgachny program dla profesjonalistow ;). I duzo kosztuje - masz legala ? (czy te wersje okrojona niby freeware ?) ;p
Wymuszenie formatu daty jest do bani. Metoda ktora ja zasugerowalem (to_char,to_date) pozwala aplikacji PL/SQL wspolpracowac z kazda baza - bez wzgledu jaki format daty ma.
Użytkownik st3tc edytował ten post 01 grudzień 2005, 16:47
Zaczyna i nie wstydze się tego niekażdy jest od razu mistrzem
Toada mam legalnego :) Firma zapłaciła
A rozwiązanie ze zmianą chyba nie będzie dla mnie wyjściem. Piszę aplikację w Javie która pobiera i zapisuje dane w bazie Oraclowej. Zapytań w kodzie źródłowym jest grubo ponad tysiąc nie zmienię teraz każdego.
to nie alteruj sesji, tylko zmien na stale format daty w bazce :). Kazda sesja bedzie jechac na tym samym formacie.
No ale jak ?? :blink:
Sorry - z rejestrem sie zakrecilem. Ustawienia w rejestrze sa dla programow z oracle developerka :).
Masz mozliwosc zmiany tego w ini.ora - ale to srednio dziala - jest to najmniej znaczace ustawienie (inne to przykrywaja).
W sumie najprosciej chyba napisac trigerka na on logon - moze byc cos takiego :
create or replace trigger change_date_on_logon after logon on database begin execute immediate 'alter session set nls_date_format = ''DD.MM.RRRR'' '; end;
Po utworzeniu rozlacz sie z baza i ponownie polacz. Podczas logowania zmieni Ci format daty z automatu - nie bedzie trzeba zmieniac innych kodzikow.
Użytkownik st3tc edytował ten post 02 grudzień 2005, 13:30
Respect
Działa, przynajmnie narazie nie widze błędu.
Jeśli chodzi o konfigurrację pliku ora.ini wyczytałem gdzieś na google ale ja nie mam na dysku takiego pliku.
Dopiero się ucze i dokładnie nieweim co to trigery i jak ich używać. Dlatego tak sioę dopytywałem
init.ora jest na kompie z bazka danych. w katalogu $(SID)\pfile\
zanotowane.pl doc.pisz.pl pdf.pisz.pl zsf.htw.pl
Istnieje zapytanie
alter session set nls_date_format = 'yyyy-mm-dd'
ale to jest rozwiązanie tymczasowe a chodzi mi o zmianę na serverze na stałe
Zmien w rejestrze - taki sam klucz (ta sama nazwa). BTW - zmiana tego nie zawsze jest dobra, jak cos piszesz lepiej nie zdawac sie na ustawienia orakla, tylko samemu zmieniac formatowanie daty (to_char i to_date)
Niebardzo rozumiem to rozwiązanie. Wiem że można jakoś kożystając z klienta po zalogowaniu się na system jako sysdba ale nieweim konkretnie gdzie tego szukać,
Ewentualnie miłobybyło gdyby ktoś mi powiedział gdzie się to przestawia w TOADzie
skoro nie rozumiesz to znaczy ze zaczynasz w oraklu - poczytaj w doc pl/sql. A skoro zaczynasz to ciekawe po co Ci TOAD. To wielgachny program dla profesjonalistow ;). I duzo kosztuje - masz legala ? (czy te wersje okrojona niby freeware ?) ;p
Wymuszenie formatu daty jest do bani. Metoda ktora ja zasugerowalem (to_char,to_date) pozwala aplikacji PL/SQL wspolpracowac z kazda baza - bez wzgledu jaki format daty ma.
Użytkownik st3tc edytował ten post 01 grudzień 2005, 16:47
Zaczyna i nie wstydze się tego niekażdy jest od razu mistrzem
Toada mam legalnego :) Firma zapłaciła
A rozwiązanie ze zmianą chyba nie będzie dla mnie wyjściem. Piszę aplikację w Javie która pobiera i zapisuje dane w bazie Oraclowej. Zapytań w kodzie źródłowym jest grubo ponad tysiąc nie zmienię teraz każdego.
to nie alteruj sesji, tylko zmien na stale format daty w bazce :). Kazda sesja bedzie jechac na tym samym formacie.
No ale jak ?? :blink:
Sorry - z rejestrem sie zakrecilem. Ustawienia w rejestrze sa dla programow z oracle developerka :).
Masz mozliwosc zmiany tego w ini.ora - ale to srednio dziala - jest to najmniej znaczace ustawienie (inne to przykrywaja).
W sumie najprosciej chyba napisac trigerka na on logon - moze byc cos takiego :
create or replace trigger change_date_on_logon after logon on database begin execute immediate 'alter session set nls_date_format = ''DD.MM.RRRR'' '; end;
Po utworzeniu rozlacz sie z baza i ponownie polacz. Podczas logowania zmieni Ci format daty z automatu - nie bedzie trzeba zmieniac innych kodzikow.
Użytkownik st3tc edytował ten post 02 grudzień 2005, 13:30
Respect
Działa, przynajmnie narazie nie widze błędu.
Jeśli chodzi o konfigurrację pliku ora.ini wyczytałem gdzieś na google ale ja nie mam na dysku takiego pliku.
Dopiero się ucze i dokładnie nieweim co to trigery i jak ich używać. Dlatego tak sioę dopytywałem
init.ora jest na kompie z bazka danych. w katalogu $(SID)\pfile\