Witamy w Nieoficjalnym polskim support'cie AMX Mod X
Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
|
[ROZWIĄZANE] Problem z SQLx :TQUERY_QUERY_FAILED
Najlepsza odpowiedź GwynBleidD, 23.04.2013 17:36
Tu chodzi głównie o znajomość samego SQLa, nie AMX. Np żeby zamiast 2ch zapytań: select + jeśli coś zwrócił to update, jeśli nie zwrócił to insert, zrobić INSERT ... ON DUPLICATE KEY UPDATE, aby ograniczyć zapytanie do 1go. Dodatkowo wrzucać dane wszystkich graczy w 1 zapytaniu, a nie dla każdego w osobnym. Do tego nie używać w zbyt dużej ilości pluginów SQL na raz, używać 1 Tuple dla wszystkich pluginów korzystających z tej samej bazy... Optymalizacji można dużo wymyśleć, nawet pamięć ram ogólnie przez serwer zabierana ma na to (chyba największy) wpływ.
Przejdź do postu#1
Napisano 19.04.2013 16:43
Nowa wersja Tower Defense 0.2 Alpha | Inne Mody -> Nowości
#2
Napisano 22.04.2013 11:02
TQUERY_QUERY_FAILED oznacza błąd zapytania, dodaj coś takiego:
new queryString[512]; SQL_GetQueryString(Query, queryString, 511); log_to_file("expmod.log", "Błąd %s (%d) w zapytaniu: %s ", Error, Errcode, queryString);
tuż po:
log_to_file("expmod.log", "ZapiszAch2 blad.");
I wtedy w logach będzie troszkę więcej o samym błędzie. Poznamy co się "wkradło" do zapytania. Swoją drogą, w tym pluginie możnaby mocno te zapytania zoptymalizować, żeby wykonywało się ich dużo mniej
Użytkownik GwynBleidD edytował ten post 22.04.2013 11:03
NIE pomagam na PW. Nie trudź się, na zlecenia nie odpiszę... Od pomagania jest forum.
NIE zaglądam w tematy wysłane na PW. Jeśli są na forum to prędzej czy później je przeczytam. Jeśli mam co w nich odpisać, to odpiszę.
#3
Napisano 23.04.2013 13:01
http://i36.tinypic.com/2je1wrn.pngPo tym co powiedziałeś to całe sma:
http://wklej.org/id/1020259/a logi expmod.log:
L 04/23/2013 - 13:22:44: Log file started (file "cstrike\addons\amxmodx\logs\expmod.log") (game "cstrike") (amx "1.8.2") L 04/23/2013 - 13:22:44: Could not connect to SQL database. L 04/23/2013 - 13:24:22: Polaczono prawidlowo L 04/23/2013 - 13:24:24: Polaczono prawidlowo Achievementy L 04/23/2013 - 13:24:25: Polaczono prawidlowo Misje L 04/23/2013 - 13:24:26: Blad. L 04/23/2013 - 13:24:38: Blad. L 04/23/2013 - 13:25:11: ZapiszMisjeHandle blad. L 04/23/2013 - 13:25:54: ZapiszMisjeHandle blad. L 04/23/2013 - 13:25:54: ZapiszMisjeHandle blad. L 04/23/2013 - 13:26:04: Polaczono prawidlowo L 04/23/2013 - 13:26:04: Polaczono prawidlowo Achievementy L 04/23/2013 - 13:26:05: Polaczono prawidlowo Misje L 04/23/2013 - 13:26:06: Blad. L 04/23/2013 - 13:26:25: Blad. L 04/23/2013 - 13:26:31: ZapiszMisjeHandle blad. L 04/23/2013 - 13:26:31: ZapiszMisjeHandle blad. L 04/23/2013 - 13:32:19: Polaczono prawidlowo L 04/23/2013 - 13:32:21: Polaczono prawidlowo Achievementy L 04/23/2013 - 13:32:23: Polaczono prawidlowo Misje L 04/23/2013 - 13:32:25: Blad. L 04/23/2013 - 13:32:25: Błąd You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''STRIKER--McPr0 :D' at line 1 (1064) w zapytaniu: SELECT * FROM `ExpMod_Missions` WHERE `Nick`='STRIKER--McPr0 :D L 04/23/2013 - 13:32:38: Blad. L 04/23/2013 - 13:32:38: Błąd You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''Jennifer Love_Hew' at line 1 (1064) w zapytaniu: SELECT * FROM `ExpMod_Missions` WHERE `Nick`='Jennifer Love_Hew L 04/23/2013 - 13:33:55: ZapiszMisjeHandle blad. L 04/23/2013 - 13:33:55: Błąd You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''Jennifer Love_Hew' at line 1 (1064) w zapytaniu: SELECT * FROM `ExpMod_Missions` WHERE `Nick`='Jennifer Love_Hew L 04/23/2013 - 13:33:55: ZapiszMisjeHandle blad. L 04/23/2013 - 13:33:55: Błąd You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''STRIKER--McPr0 :D' at line 1 (1064) w zapytaniu: SELECT * FROM `ExpMod_Missions` WHERE `Nick`='STRIKER--McPr0 :D L 04/23/2013 - 13:34:50: Polaczono prawidlowo L 04/23/2013 - 13:34:50: Polaczono prawidlowo Achievementy L 04/23/2013 - 13:34:51: Polaczono prawidlowo Misje L 04/23/2013 - 13:35:18: ZapiszMisjeHandle2 blad. L 04/23/2013 - 13:35:18: Błąd Unknown column 'Mission' in 'field list' (1054) w zapytaniu: INSERT INTO `ExpMod` (`Nick`,`Mission`, `Progress`, `Completed`) VALUES ('STRIKER--McPr0 :D','0','0','0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0') L 04/23/2013 - 13:48:33: Polaczono prawidlowo L 04/23/2013 - 13:48:42: Polaczono prawidlowo Achievementy L 04/23/2013 - 13:48:46: Polaczono prawidlowo Misje L 04/23/2013 - 13:49:10: ZapiszMisjeHandle2 blad. L 04/23/2013 - 13:49:10: Błąd Unknown column 'Mission' in 'field list' (1054) w zapytaniu: INSERT INTO `ExpMod` (`Nick`,`Mission`,`Progress`,`Completed`) VALUES ('STRIKER--McPr0 :D','1','0','0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0')(misjami sie bd pozniej zajmowac) to blędy:
L 04/23/2013 - 13:50:23: Info (map "de_aztec") (file "addons/amxmodx/logs/error_20130423.log") L 04/23/2013 - 13:50:23: [MySQL] Thread worker was unable to start. L 04/23/2013 - 13:50:23: [AMXX] Displaying debug trace (plugin "expmod_mission.amxx") L 04/23/2013 - 13:50:23: [AMXX] Run time error 10: native error (native "SQL_ThreadQuery") L 04/23/2013 - 13:50:23: [AMXX] [0] expmod_mission.sma::ZapiszMisjeHandle (line 447) L 04/23/2013 - 13:50:23: [MySQL] Thread worker was unable to start. L 04/23/2013 - 13:50:23: [AMXX] Displaying debug trace (plugin "expmod_mission.amxx") L 04/23/2013 - 13:50:23: [AMXX] Run time error 10: native error (native "SQL_ThreadQuery") L 04/23/2013 - 13:50:23: [AMXX] [0] expmod_mission.sma::ZapiszMisjeHandle (line 447) L 04/23/2013 - 13:50:23: [MySQL] Thread worker was unable to start. L 04/23/2013 - 13:50:23: [AMXX] Displaying debug trace (plugin "expmod_mission.amxx") L 04/23/2013 - 13:50:23: [AMXX] Run time error 10: native error (native "SQL_ThreadQuery") L 04/23/2013 - 13:50:23: [AMXX] [0] expmod_mission.sma::ZapiszMisjeHandle (line 447) L 04/23/2013 - 13:50:23: [MySQL] Thread worker was unable to start. L 04/23/2013 - 13:50:23: [AMXX] Displaying debug trace (plugin "expmod_mission.amxx") L 04/23/2013 - 13:50:23: [AMXX] Run time error 10: native error (native "SQL_ThreadQuery") L 04/23/2013 - 13:50:23: [AMXX] [0] expmod_mission.sma::ZapiszMisjeHandle (line 447) L 04/23/2013 - 13:50:23: [MySQL] Thread worker was unable to start. L 04/23/2013 - 13:50:23: [AMXX] Displaying debug trace (plugin "expmod_mission.amxx") L 04/23/2013 - 13:50:23: [AMXX] Run time error 10: native error (native "SQL_ThreadQuery") L 04/23/2013 - 13:50:23: [AMXX] [0] expmod_mission.sma::ZapiszMisjeHandle (line 447) L 04/23/2013 - 13:50:23: [MySQL] Thread worker was unable to start. L 04/23/2013 - 13:50:23: [AMXX] Displaying debug trace (plugin "expmod_mission.amxx") L 04/23/2013 - 13:50:23: [AMXX] Run time error 10: native error (native "SQL_ThreadQuery") L 04/23/2013 - 13:50:23: [AMXX] [0] expmod_mission.sma::ZapiszMisjeHandle (line 447) L 04/23/2013 - 13:50:23: [MySQL] Thread worker was unable to start. L 04/23/2013 - 13:50:23: [AMXX] Displaying debug trace (plugin "expmod_mission.amxx") L 04/23/2013 - 13:50:23: [AMXX] Run time error 10: native error (native "SQL_ThreadQuery") L 04/23/2013 - 13:50:23: [AMXX] [0] expmod_mission.sma::ZapiszMisjeHandle (line 447) L 04/23/2013 - 13:50:23: [MySQL] Thread worker was unable to start. L 04/23/2013 - 13:50:23: [AMXX] Displaying debug trace (plugin "expmod_mission.amxx") L 04/23/2013 - 13:50:23: [AMXX] Run time error 10: native error (native "SQL_ThreadQuery") L 04/23/2013 - 13:50:23: [AMXX] [0] expmod_mission.sma::ZapiszMisjeHandle (line 447) L 04/23/2013 - 13:50:23: [MySQL] Thread worker was unable to start. L 04/23/2013 - 13:50:23: [AMXX] Displaying debug trace (plugin "expmod_achievements.amxx") L 04/23/2013 - 13:50:23: [AMXX] Run time error 10: native error (native "SQL_ThreadQuery") L 04/23/2013 - 13:50:23: [AMXX] [0] expmod_achievements.sma::ZapiszAch (line 586) L 04/23/2013 - 13:50:23: [MySQL] Thread worker was unable to start. L 04/23/2013 - 13:50:23: [AMXX] Displaying debug trace (plugin "expmod_achievements.amxx") L 04/23/2013 - 13:50:23: [AMXX] Run time error 10: native error (native "SQL_ThreadQuery") L 04/23/2013 - 13:50:23: [AMXX] [0] expmod_achievements.sma::ZapiszAch (line 586) L 04/23/2013 - 13:50:23: [MySQL] Thread worker was unable to start. L 04/23/2013 - 13:50:23: [AMXX] Displaying debug trace (plugin "expmod_achievements.amxx") L 04/23/2013 - 13:50:23: [AMXX] Run time error 10: native error (native "SQL_ThreadQuery") L 04/23/2013 - 13:50:23: [AMXX] [0] expmod_achievements.sma::ZapiszAch (line 586)
Nowa wersja Tower Defense 0.2 Alpha | Inne Mody -> Nowości
#4
Napisano 23.04.2013 15:34
W tabeli ExpMod nie ma kolumny mission. ThreadWorker niestety tak ma, musisz "zwolnić" trochę zasobów serwera, aby mógł wystartować.
NIE pomagam na PW. Nie trudź się, na zlecenia nie odpiszę... Od pomagania jest forum.
NIE zaglądam w tematy wysłane na PW. Jeśli są na forum to prędzej czy później je przeczytam. Jeśli mam co w nich odpisać, to odpiszę.
#5
Napisano 23.04.2013 15:42
Nowa wersja Tower Defense 0.2 Alpha | Inne Mody -> Nowości
#6
Napisano 23.04.2013 15:46
Jak wykonujesz zbyt dużo zapytań, to wtedy po prostu coś takiego nie wyrabia, dlatego musisz to ograniczyć lub zmienić sposób wykonywania zapytania na inny, bo są dwa, ten drugi przydaje się gdy chcemy wysłać więcej zapytań w danym momencie, ale i tak najlepiej łączyć też takie zapytania.Jak zwolnić jak to jest na Lanie ? ( New game )
Posiadam TBM (inaczej PTB), które działa dużo lepiej niż zwykłe PTB, nawet na modach z lvlami. Zainteresowany? Proszę bardzo
#7
Napisano 23.04.2013 15:52
Nowa wersja Tower Defense 0.2 Alpha | Inne Mody -> Nowości
#8
Napisano 23.04.2013 17:36 Najlepsza odpowiedź
Tu chodzi głównie o znajomość samego SQLa, nie AMX. Np żeby zamiast 2ch zapytań: select + jeśli coś zwrócił to update, jeśli nie zwrócił to insert, zrobić INSERT ... ON DUPLICATE KEY UPDATE, aby ograniczyć zapytanie do 1go. Dodatkowo wrzucać dane wszystkich graczy w 1 zapytaniu, a nie dla każdego w osobnym. Do tego nie używać w zbyt dużej ilości pluginów SQL na raz, używać 1 Tuple dla wszystkich pluginów korzystających z tej samej bazy... Optymalizacji można dużo wymyśleć, nawet pamięć ram ogólnie przez serwer zabierana ma na to (chyba największy) wpływ.
NIE pomagam na PW. Nie trudź się, na zlecenia nie odpiszę... Od pomagania jest forum.
NIE zaglądam w tematy wysłane na PW. Jeśli są na forum to prędzej czy później je przeczytam. Jeśli mam co w nich odpisać, to odpiszę.
#9
Napisano 23.04.2013 17:41
Trudno, nie będę się bawić w te klocki. Wersję z expmda mysql odkładam na później. Każdemu po pluisiku
Nowa wersja Tower Defense 0.2 Alpha | Inne Mody -> Nowości
Użytkownicy przeglądający ten temat: 0
0 użytkowników, 0 gości, 0 anonimowych