roz??czanie MySQL z powodu bezczynno?ci
*ryspek* - 14-12-2006 16:09
roz??czanie MySQL z powodu bezczynno?ci
Prosz? o rad?, jak rozwi?za? problem roz??czania MySQL. Jest otwarte po??czenie, dane w edycji, u?ytkownik poszed? na kaw?, serwer ma krótki czas bezczynno?ci, roz??czy? si?, u?ytkownik wraca nie mo?e zapisa? danych.
Nowe po??czenie, to nowa sesja. Czy w takim razie jedynym rozwi?zaniem jest co jaki? czas wysy?anie do serwera jakiego? prostego zadania?
-- pozdrawiam *ryspek*
Maciek Dobrzanski - 14-12-2006 16:09
"*ryspek*" <ryspek@polbox.com> wrote in message news:el0mnh$d15$1@atlantis.news.tpi.pl...
> Prosz? o rad?, jak rozwi?za? problem roz??czania MySQL. [...] > > Nowe po??czenie, to nowa sesja. > Czy w takim razie jedynym rozwi?zaniem jest co jaki? czas > wysy?anie do serwera jakiego? prostego zadania?
Albo tak (mysql_ping()?), albo chyba lepiej skorzysta? z trybu interaktywnego. W C API jest to do wykonania poprzez ustawienie flagi CLIENT_INTERACTIVE w mysql_real_connect(). Wówczas baza b?dzie patrzy?a na warto?? zmiennej interactive_timeout a nie wait_timeout, dla ustalenia limitu czasu bezczynno?ci po??czenia.
Maciek
Jarek - 14-12-2006 16:09
Zrób tak: do ?a?cucha po??czeniowego z baz? doklej parametr autoReconnect=true.
url="jdbc:mysql://10.0.0.123:3306/dataBaseName?autoReconnect=true"
DriverManager.getConnection(url, user, password);
Jarek
U?ytkownik "*ryspek*" <ryspek@polbox.com> napisa? w wiadomo?ci news:el0mnh$d15$1@atlantis.news.tpi.pl... > Prosz? o rad?, jak rozwi?za? problem roz??czania MySQL. > Jest otwarte po??czenie, dane w edycji, > u?ytkownik poszed? na kaw?, serwer ma krótki czas bezczynno?ci, > roz??czy? si?, u?ytkownik wraca nie mo?e zapisa? danych. > > Nowe po??czenie, to nowa sesja. > Czy w takim razie jedynym rozwi?zaniem jest co jaki? czas > wysy?anie do serwera jakiego? prostego zadania? > > -- > pozdrawiam > *ryspek* > >
*ryspek* - 14-12-2006 16:09
> > Prosz? o rad?, jak rozwi?za? problem roz??czania MySQL. > Albo tak (mysql_ping()?), albo chyba lepiej skorzysta? z trybu > interaktywnego. W C API jest to do wykonania poprzez ustawienie flagi > CLIENT_INTERACTIVE w mysql_real_connect(). Wówczas baza b?dzie patrzy?a na > warto?? zmiennej interactive_timeout a nie wait_timeout, dla ustalenia > limitu czasu bezczynno?ci po??czenia.
Dzi?kuj? z odpowied?. Wydaje mi si?, ?e tryb CLIENT_INTERACTIVE nic nie da poniewa? serwer, z którym mam do czynienia ma interactive_timeout = 300 *ryspek
*ryspek* - 14-12-2006 16:09
> > Prosz? o rad?, jak rozwi?za? problem roz??czania MySQL. > Zrób tak: > do ?a?cucha po??czeniowego z baz? doklej parametr autoReconnect=true. > > url="jdbc:mysql://10.0.0.123:3306/dataBaseName?autoReconnect=true" > > DriverManager.getConnection(url, user, password); To chyba te? nie jest dobre rozwi?zanie, pisz? w
http://dev.mysql.com/doc/refman/5.0/...onfiguration-p roperties.html The use of this feature is not recommended, because it has side effects related to session state and data consistency when applications don'thandle SQLExceptions properly, and is only designed to be used when you are unable to configure your application to handle SQLExceptions resulting from dead and stale connections properly.
Nale?a?oby chyba obs?u?y? b??d braku po??czenia i po??czy? si? ponownie? Je?li kto? rozwi?za? ten problem, mo?e napisze jak to zrobi? ? pozdrawiam *ryspek*
keczerad - 14-12-2006 16:09
*ryspek* napisa?(a): > Prosz? o rad?, jak rozwi?za? problem roz??czania MySQL. > Jest otwarte po??czenie, dane w edycji, > u?ytkownik poszed? na kaw?, serwer ma krótki czas bezczynno?ci, > roz??czy? si?, u?ytkownik wraca nie mo?e zapisa? danych. > > Nowe po??czenie, to nowa sesja. > Czy w takim razie jedynym rozwi?zaniem jest co jaki? czas > wysy?anie do serwera jakiego? prostego zadania?
a moze takei cos cie zadowoli
Conn.StateChange += new StateChangeEventHandler(Conn_StateChange);
--
keczerad
http://www.e-mo.com.pl sklep w (X)HTML
*ryspek* - 14-12-2006 16:09
> > Prosz? o rad?, jak rozwi?za? problem roz??czania MySQL. > > Jest otwarte po??czenie, dane w edycji, > > u?ytkownik poszed? na kaw?, serwer ma krótki czas bezczynno?ci, > > roz??czy? si?, u?ytkownik wraca nie mo?e zapisa? danych. > > > > Nowe po??czenie, to nowa sesja. > > Czy w takim razie jedynym rozwi?zaniem jest co jaki? czas > > wysy?anie do serwera jakiego? prostego zadania? > > a moze takei cos cie zadowoli > > Conn.StateChange += new StateChangeEventHandler(Conn_StateChange); > Nie, bez obja?nie? nie wiem, o co chodzi. Pewien facet pyta? na peronie dziewczynk?, jaki to poci?g? Dosta? odpowiedz - niebieski. Sprecyzowa? - ale dok?d? Dosta? odpowied? - do po?owy. Dalej nie pyta?, bo poci?g odjecha?. pozdrawiam *ryspek*
Maciek Dobrzanski - 14-12-2006 16:09
"*ryspek*" <ryspek@polbox.com> wrote in message news:el148i$7ut$1@nemesis.news.tpi.pl...
> Wydaje mi si?, ?e tryb CLIENT_INTERACTIVE nic nie da > poniewa? serwer, z którym mam do czynienia ma > interactive_timeout = 300
W takim razie poprostu niech aplikacja jako pierwsz? akcj? na bazie po po??czeniu wykona np.: SET wait_timeout=3000 Wówczas dla jej po??czenia czas ten b?dzie odpowiednio inny ni? domy?lnie ustawiany poprzez zmienn? globaln?. Natomiast musisz si? liczy? z tym, ?e administratorowi bazy danych mo?e si? to nie spodoba? lub ucierpie? mo?e dost?pno?? bazy w wyniku nagromadzenia nadmiernej liczby "?pi?cych" w?tków.
Maciek
*ryspek* - 24-12-2006 00:36
> > Wydaje mi się, że tryb CLIENT_INTERACTIVE nic nie da > > ponieważ serwer, z którym mam do czynienia ma > > interactive_timeout = 300 > > W takim razie poprostu niech aplikacja jako pierwszą akcję na bazie po > połączeniu wykona np.: SET wait_timeout=3000 > Wówczas dla jej połączenia czas ten będzie odpowiednio inny niż domyślnie > ustawiany poprzez zmienną globalną. Natomiast musisz się liczyć z tym, że > administratorowi bazy danych może się to nie spodobać lub ucierpieć może > dostępność bazy w wyniku nagromadzenia nadmiernej liczby "śpiących" wątków. > > Maciek Już zrezygnowałem ze śledzenia tego wątku i postanowiłem pingać, a tu nagle takie proste rozwiązanie! Dziękuję *ryspek*
zanotowane.pldoc.pisz.plpdf.pisz.pleffulla.pev.pl
|
[mysql] =?ISO-8859-2?Q?Za=E6mienie=2E=2E=2E_jak_wy=B6wietli=E6?==?ISO-8859-2?Q?=2E=2E=2E?=
[mysql] =?ISO-8859-2?Q?wielko=B6=E6_bazy_a_stabilno=B6=E6=2C?==?ISO-8859-2?Q?_podzia=B3_du=BFej_bazy_a_powi=B1zania_tabel?=
[MySQL] =?ISO-8859-2?Q?Wy=B6wietlenie_kolejnej_pozycji=2C_?==?ISO-8859-2?Q?jak=B1_mia=B3by_dany_rekord=2C_gdybym_czyta=B3 _?==?ISO-8859-2?Q?wg_konkretnych_kryteri=F3w=2E_Da_si=EA_=3F?=
[mysql 4.0.x] przenoszenie kolum =?ISO-8859-2?Q?mi=EAdzy_bazam?==?ISO-8859-2?Q?i_cd_=2E=2E=2E_?=
[MySQL] =?ISO-8859-2?Q?z=B3=B1czenie_tabeli_u=BFytkownik_i?==?ISO-8859-2?Q?_zdj=EAcia_z_wyborem_zdj=EAcia_domy=B6lnego?=
[MySQL] Jak =?ISO-8859-2?Q?wpisa=E6_do_tabeli_pozycje_dl?==?ISO-8859-2?Q?a_wierszy_gdybym_te_wiersze_wybiera=B3_w_ok?== ?ISO-8859-2?Q?re=B6lonej_kolejno=B6ci_=3F?=
Gdzie MySQL 4.1, a gdzie 5.0?
[MySQL 4.0...4.1] zabezpieczenie przed =?ISO-8859-2?Q?jednoczesn?==?ISO-8859-2?Q?=B1_edycj=B1?=
[MS SQL] "set names" (mySQL) w MS SQL
[mysql 5.x] jak =?ISO-8859-2?Q?zrealizowa=E6_zapytanie=3F_cz?==?ISO-8859-2?Q?yli_podzapytanie_i_wi=EAcej_ni=BF_jeden_rz=B1? ==?ISO-8859-2?Q?d_wynik=F3w?=
zanotowane.pldoc.pisz.plpdf.pisz.plfelgiuzywane.xlx.pl
Cytat
Decede mihi sole - nie zasłaniaj mi słonca. Gdy kogoś kochasz, jesteś jak stworzyciel świata - na cokolwiek spojrzysz, nabiera to kształtu, wypełnia się barwą, światłem. Powietrze przytula się do ciebie, choćby był mróz, a ty masz w sobie tyle radości, że musisz ją rozdawać wokoło, bo się w tobie nie mieści Hoc fac - tak czyń. A tergo - od tyłu; z tyłu. I czarne włosy posiwieją. Safona |
|