Jak przez Delphi odczytać stronę kodową ustawioną w kliencie Oracle?
Potrzebuje pobrac i wyswietlic na ekranie.
Obecnie odczytuję z rejestru
sciezka: "HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_Ora........"
nazwa wartosci: NLS_LANG
Przykladowo:
sciezka: "HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_OraClient10g_home1"
Jakos mi sie twarz skreca na takie rozwiazanie. Zna ktos cos
pewniejszego?
Pozwiodronka,
Zeman.
Skoro NLS_LANG ustawia sie albo jako zmienną środowiskową albo w rejestrze
, to jak inaczej chcesz to odczytać ?
--
Pozdrawiam
Morff
--------------------
AQQ : 141151 (mo...@aqq.eu)
Tego właśnie nie wiem, być może jest jakieś magiczne zapytanie.
Przez rejestry mi się średnio podoba, bo nie mam pewności że
informacja będzie zawsze w tym samym miejscu i pod tą samą nazwą.
Jeśli miałby pewność że info zawsze znajdę w tym samym miejscu w
rejestrze, to było by to dla mnie wystarczające rozwiązanie.
Dzięki za zainteresowanie.
Pozwiodronka,
Zeman.
Skoro można ustawić na kliencie NLS_LANG w rejestrze lub przez zmienną
środowiskową NLS_LANG .. to jak chcesz to odczytac w inny , pewniejszy
sposób ?
Zawsze w tym samym - niekoniecznie. Chyba ze to ty robisz instalację
klienta i robisz to w ten sam sposób.
Jak pewnie wiesz NLS_LANG mozesz ustawić dla "całego" klienta albo dla
poszczególnych "hołmów", albo przez zmienną środowiskową jezeli masz np.
instant client.
Wydaje mi sie za w ramach jednej wersji systemu (np. dla XP) bedzie to w
tym samym miejscu ale dla visty/7 juz niekoniecznie.
Nawet gdyby było tych miejsc w rejestrze 10 .. to chyba nie problem je
sprawdzić , zwłaszcza ze zmienne środowiskowe (nie wiem jak w vista/7 ale
chyba też) siedzą w rejestrze
(HKLM\System\CurrentControlSet\Control\SessionManager\Environment)
Tak, ale to jest strona nastawiona na serwerze Oracle, a nie na
kliencie.
Dodam jeszcze ze wersja serwera Oracle to 10, bo ponoc w 11 juz jest w
NLS_SESSION_PARAMETERS
Dziekuje za odpowiedz,
Pozwiodronka,
Zeman.
> Dodam jeszcze ze wersja serwera Oracle to 10, bo ponoc w 11 juz jest w
> NLS_SESSION_PARAMETERS
>
> Dziekuje za odpowiedz,
>
> Pozwiodronka,
> Zeman.
Ustawienie w sesji mozesz sobie odczytaďż˝ :
select sys_context('USERENV','LANG') from dual;
"PL" mi nic nie mowi. O ile pamietam bylo cos tez z SYS_CONTEXT ze
podawalo strone kodowa ale serwera.
Pozwiodronka,
Zeman.