ďťż
 
=?ISO-8859-2?Q?Brak_b=B3=EAdu?= ďťż
 
=?ISO-8859-2?Q?Brak_b=B3=EAdu?=
Zobacz wiadomości
 
Cytat
A gdyby tak się wedrzeć na umysłów górę, / Gdyby stanąć na ludzkich myśli piramidzie, / I przebić czołem przesądów chmurę, / I być najwyższą myślą wcieloną. . . Juliusz Słowacki, Kordian
Indeks BCB i MySQL subiekt gt fototapeta
 
  Witamy

=?ISO-8859-2?Q?Brak_b=B3=EAdu?=



yogi - 15-03-2007 00:03
=?ISO-8859-2?Q?Brak_b=B3=EAdu?=
  Witam mam następujący problem.
Jest sobie ankieta która składa się z 20 pytan, każda odpowiedz na pytanie
skutkuje insertem do bazy MySQL 5.0 InnoDB. Kiedy ankieta jest wypełniana
przez jednego uzytkownika wszystko jest ok, problemy zaczynają się kiedy jest
ich kilku. Baza albo nie zapisuje niektórych odpowiedzi albo zapisuje je
podwójnie.
Program napisana jest w javie i oparty na TOMCATcie a do komunikacji używam
sterownika JDBC: mysql-connector-java-5.0.4-bin.jar, autoCommit ustawony na
‘FALSE’ po insercie jest komitowany.
Brak jakichkolwiek informacji o błędzie, czy to normalne w MySQLu?
Proszę o sugestie gdzie szukać przyczyny.

Yogi,

--
Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/





Maciek Dobrzanski - 15-03-2007 00:04

  In news:et8g89$p1d$1@inews.gazeta.pl,
yogi <yogi28@WYTNIJ.gazeta.pl> wrote:

> Jest sobie ankieta która składa się z 20 pytan, każda odpowiedz na
> pytanie skutkuje insertem do bazy MySQL 5.0 InnoDB. Kiedy ankieta
> jest wypełniana przez jednego uzytkownika wszystko jest ok, problemy
> zaczynają się kiedy jest ich kilku. Baza albo nie zapisuje niektórych
> odpowiedzi albo zapisuje je podwójnie.

Zapis podwójny to raczej błąd w aplikacji, natomiast brak zapisu to być może
kwestia zakleszczania się wielu transakcji, skoro wyłączone jest
autocommitowanie. Sprawdź czy są prawidłowo zamykane oraz jaki jest czas
trwania pojedyńczej transakcji. Aczkolwiek błędy powinny być zwracane do
klienta w takim przypadku (nie znam javowych connectorów, może tam jest
"inaczej" ;)).

Maciek




kuczek@kuczek.pl - 15-03-2007 00:04
=?iso-8859-2?B?UmU6IEJyYWsgYrPqZHU=?=
  On 14 Mar, 10:45, "yogi " <yog...@WYTNIJ.gazeta.pl> wrote:
> Witam mam następujący problem.
> Jest sobie ankieta która składa się z 20 pytan, każda odpowiedz na pytanie
> skutkuje insertem do bazy MySQL 5.0 InnoDB. Kiedy ankieta jest wypełniana
> przez jednego uzytkownika wszystko jest ok, problemy zaczynają się kiedy jest
> ich kilku. Baza albo nie zapisuje niektórych odpowiedzi albo zapisuje je
> podwójnie.
> Program napisana jest w javie i oparty na TOMCATcie a do komunikacji używam
> sterownika JDBC: mysql-connector-java-5.0.4-bin.jar, autoCommit ustawony na
> ‘FALSE’ po insercie jest komitowany.
> Brak jakichkolwiek informacji o błędzie, czy to normalne w MySQLu?
> Proszę o sugestie gdzie szukać przyczyny.
>
> Yogi,

Być może po stronie aplikacji i/lub struktury bazy.
Przede wszystkim:
1. Jeśli zapis nie powiódł się, powinieneś w kodzie sprawdzićto i
obsłużyć wyjątek.
2. Zapis "podwójny" - jak rozumiem założyłeś klucze itd. W takim razie
szukaj sytuacji, w których wywołujesz insert w kodzie po raz drugi.
3. Logowanie wyjątków po stronie aplikacji zgodnie z ustawionym debug-
level nie jest złym pomysłem. Może na początek
zrzucaj do log-a wszystkie wykonywane zapytania ?
4. Dość niepokojące jest stwierdzenie "Kiedy ankieta jest wypełniana
przez jednego uzytkownika wszystko jest ok, problemy zaczynają się
kiedy jest ich kilku. ". Czyżbyś generował nowy klucz funkcją max()
zamiast zrobić to jak należy ?

BTW. za mało danych, by zgadnąć.

Pozdrawiam
Ronald Kuczek




yogi - 17-03-2007 00:02
=?ISO-8859-2?Q?Re:_Brak_b=B3=EAdu?=
  Dodam jeszcze ze błędy pojawiają się średnio raz na 1000 insertów, brak jakich
kolwiek błędów, aplikacja działa na linuxie dystrybucja Fedora, baza danych 5.
0.17. Wydaje mi się że jest to może kwestia wielo-dostępu, jednocześnie
ankiete wypełnia ok 400 użytkowników. A może MYSQL nie radzi sobie?, nie znam
tej bazy, może są jakieś parametry które mają wpływ na concurrent insert?.
Jest taki parametr ale on dotyczy chyba tylko MYISAM.

Pozdrawiam Yogi.

--
Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • effulla.pev.pl
  • comp
    Wydajność baz danych w zależności od poziomu izolacji ANSI/ISO Czy zna (obsługuje) ktoś program Iso Draw ? MYSQL - kodowanie w ISO-PL strona plus baza w iso do utf-8 Kodowanie: z iso na utf Konwesja znaków w dump'ie bazy danych - ISO -> utf-8 -> ISO -> utf-8 =?iso-8859-2?q?Informatyka,_Java,_EJB,_Ajax,_Spring=2E_Czy=BF by_to_koniec_=B6wiata,_czy_te=BF_nasze_uczelnie_b= EAd=B1_uczy=B3y_w_ko=F1cu!_czego_praktycznego_=2E= 2E=2E=2E?= =?iso-8859-2?q?Ati_Mobility_Radeon_X300_W_Notebooku_Jak_Zwi=E Akszy=E6_Ilo=B6=E6_Grafiki_Poprzez_Wsp=F3=B3dziele nie_Z_Ramu=3F=3F=3F?= =?ISO-8859-2?Q?=AFegnam_si=EA=2E=2E=2E?= Manager =?ISO-8859-2?Q?font=F3w=2E=2E=2E?=
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • czterowers.keep.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

    Valid HTML 4.01 Transitional

    Free website template provided by freeweblooks.com