Ustawienie unikalnego tekstu jako identyfikator aplikacji w sesji

0

Cześć,
chciałbym dopytać się, czy jest jakaś możliwość ustawienia własnego tekstu, po którym mógłbym poznać sesje aplikacji? Dodam, że łączę się z bazą poprzez ODBC. Chciałby mieć coś na kształt: TSN;User;Pass;Unikalny_tekst/ID_sesji_aplikacji przy łączeniu się z bazą Oracle.

0

@BartoSAS:

No i ???

Co ma baza do sesji aplikacji ? To raczej apliakcja coś n/t wie ...

0

Może się nieprecyzyjnie wyraziłem. Mam taki stan na kształt tego na screenie z monitora sesji 823295-20200113223437141-84092171.png
No i tutaj ktoś sobie wstawił w tę kolumnę adresy IP. A ja chciałbym, żeby aplikacja tam wstawiała swój własny jakiś unikalny identyfikator. No i szukam parametru jaki trzeba podać przy tym tzw. stringi connection, aby tam wpisać swoją własną informację.

0

Masz tam unikalny sid. Czego Ci brakuje?

1

ale to jest wprost wyświetlenie sesji jakie trzyma oracle. Jak chcesz ustawić customowe CLIENT_INFO to musisz po podłączeniu do oracle wywołać
EXEC DBMS_APPLICATION_INFO.SET_CLIENT_INFO('Twoja nazwa');
ale do tego trzeba mieć dostęp do źródeł aplikacji.

0
Fac napisał(a):

Masz tam unikalny sid. Czego Ci brakuje?

Mam n-połączeń tworzonych z jednej aplikacji, i po pewnym czasie wiszą jako INACTIVE, wszystkie przedstawiają się nazwa_pliku.exe + SID, który mi nic nie mówi. Stąd chciałem coś wstawić, co mi określi bardziej ludzką nazwą źródło połączenia.

abrakadaber napisał(a):

Jak chcesz ustawić customowe CLIENT_INFO to musisz po podłączeniu do oracle wywołać
EXEC DBMS_APPLICATION_INFO.SET_CLIENT_INFO('Twoja nazwa');

Liczyłem, że da się bez, no ale trudno, jak trzeba grzebnąć w kodzie, to trzeba.

0
BartoSAS napisał(a):
Fac napisał(a):

Masz tam unikalny sid. Czego Ci brakuje?

Mam n-połączeń tworzonych z jednej aplikacji, i po pewnym czasie wiszą jako INACTIVE, wszystkie przedstawiają się nazwa_pliku.exe + SID, który mi nic nie mówi. Stąd chciałem coś wstawić, co mi określi bardziej ludzką nazwą źródło połączenia.

abrakadaber napisał(a):

Jak chcesz ustawić customowe CLIENT_INFO to musisz po podłączeniu do oracle wywołać
EXEC DBMS_APPLICATION_INFO.SET_CLIENT_INFO('Twoja nazwa');

Liczyłem, że da się bez, no ale trudno, jak trzeba grzebnąć w kodzie, to trzeba.

To raczej nie puszczaj pary w gwizdek na detektywistykę, a na porządne zwalnianie zasobów, zależnie od języka, jak C# to using, jak Java to try with resources.
Można powiedziec, że wiem o czym móiwę, bo kilka lat temu przejsciowa wersja naszego programu miała to zaniedbane, i po kilku tygodniach wyczerpała konekszyny MS-SQL

0

@BartoSAS: możesz zmienić w pliku SQLNET.ORA parametr SQLNET.EXPIRE_TIME=minutes żeby "martwe" połączenia były szybciej usuwane

0

@ZrobieDobrze: na wojnie z legacy wszystkie chwyty dozwolone :D, łudzę się, że szybciej znajdę w ten sposób miejsce, gdzie źle są zwalniane zasoby
@abrakadaber: nie mam "pagonów", żeby móc sobie dłubać, aż tak na bazie

0

to się ustawia na serwerze nie na bazie

1 użytkowników online, w tym zalogowanych: 0, gości: 1