←  Problemy

AMXX.pl: Support AMX Mod X i SourceMod

»

CoD Stary
Problem plugin - połączenie z bazą danych

  • +
  • -
Scorpion Flail - zdjęcie Scorpion Flail 19.08.2013

Witam.

Posiadam CoD MoD stary do którego był robiony zapis lvl do bazy.

Niestety plugin nie chce w ogóle łączyć z bazą:

L 08/14/2013 - 17:40:14: [cod_4001(4).amxx] [ startSQLHandle ] Query failed: 
L 08/14/2013 - 17:40:14: [cod_4001(4).amxx] [ startSQLHandle ] Couldn't connect with db

Hosting unixstorm, zezwolenia hosta dawałem, próbowałem też z %, bez skutku. Sprawdzałem również na 2 serwerach hlds z różnych hostingów.

 

Części kodu odpowiadająca za połączenie:

pCvarHost = register_cvar( "sql_save_host" , "host" );
    pCvarUser = register_cvar( "sql_save_user" , "user" );
    pCvarPass = register_cvar( "sql_save_pass" , "pass" );
    pCvarDB = register_cvar( "sql_save_db" , "db" );
public plugin_cfg(){

    
    new szHost[ 256 ],
        szUser[ 256 ],
        szPass[ 256 ],
        szDB[ 256 ];
        
    get_pcvar_string( pCvarHost , szHost , charsmax( szHost ) );
    get_pcvar_string( pCvarUser , szUser , charsmax( szUser ) );
    get_pcvar_string( pCvarPass , szPass , charsmax( szPass ) );
    get_pcvar_string( pCvarDB , szDB , charsmax( szDB ) );
    
    tupleSQL = SQL_MakeDbTuple( szHost , szUser , szPass , szDB );
    
    startSQL()
}
public startSQLHandle(FailState, Handle:Query, Errorcode, Error[], Data[], DataSize){
    if(Errorcode)
        log_amx("[ startSQLHandle ] Query failed: %s", Error)
    
    if(FailState == TQUERY_CONNECT_FAILED){
    
        log_amx("[ startSQLHandle ] Couldn't connect with db")
        
        return PLUGIN_CONTINUE;
    }
    else if(FailState == TQUERY_QUERY_FAILED){
    
        log_amx("[ startSQLHandle ] Query failed");
        
        return PLUGIN_CONTINUE;
    }
    
    return PLUGIN_CONTINUE;
}

Tworzenie tabeli:

public startSQL(){
    SQL_ThreadQuery( tupleSQL , "startSQLHandle" , "CREATE TABLE IF NOT EXISTS codLVL ( name TEXT NOT NULL , class INT , experience INT , lvl INT , intelligence INT , health INT , durability int , condition int , protect int , experiencePoints int, PRIMARY KEY ( name ) )" );
}
Odpowiedz

  • +
  • -
Kawon - zdjęcie Kawon 20.08.2013

Automatyczna wiadomość


Ten temat został przeniesiony z forum

Scripting AMXXProblemy

do

ModyCall of Duty ModProblemy
Odpowiedz

  • +
  • -
BlackPerfum - zdjęcie BlackPerfum 22.08.2013

L 08/14/2013 - 17:40:14: [cod_4001(4).amxx] [ startSQLHandle ] Couldn't connect with db

Serwer nie może się połączyć z bazą danych. Nie wina zapytań czy pluginu. Sprawdź czy cvary poprawnie uzupełnione i czy samemu możesz się połączyć z bazą danych. Oraz czy na twoim hoście istnieje baza danych o nazwie zawartej w cvarze: "sql_save_db"

Odpowiedz

  • +
  • -
Scorpion Flail - zdjęcie Scorpion Flail 22.08.2013

Serwer nie może się połączyć z bazą danych. Nie wina zapytań czy pluginu. Sprawdź czy cvary poprawnie uzupełnione i czy samemu możesz się połączyć z bazą danych. Oraz czy na twoim hoście istnieje baza danych o nazwie zawartej w cvarze: "sql_save_db"

 

 

Takie banały były dokładnie sprawdzane. Dane do bazy probówalem zarówno przez cvara jak i amxx.cfg + sprawdzałem cvarami na serwerze czy się zgadzają.

Z bazą danych bez problemu łączę się z mysql font.

 

Serwer bez problemu łączy się z amxbans, który stoi na tym samym hoście.

 

Wina musi leżec po stronie kodu pluginu.

Odpowiedz

.K3K - zdjęcie .K3K 24.08.2013

sprawdź moduły :)
Odpowiedz

  • +
  • -
Scorpion Flail - zdjęcie Scorpion Flail 24.08.2013

MySQL                   1.8.1.3710  AMX Mod X Dev Team   running    
SQLite                  1.8.1.3710  AMX Mod X Dev Team   running    
Fun                     1.8.1.3710  AMX Mod X Dev Team   running    
Engine                  1.8.1.3710  AMX Mod X Dev Team   running    
FakeMeta                1.8.1.3711  AMX Mod X Dev Team   running    
GeoIP                   1.8.1.3710  AMX Mod X Dev Team   running    
nVault                  1.8.1.3710  AMX Mod X Dev Team   running    
CStrike                 1.8.1.3710  AMX Mod X Dev Team   running    
CSX                     1.8.1.3710  AMX Mod X Dev Team   running    
Ham Sandwich            1.8.1.3710  AMX Mod X Dev Team   running    
Sockets                 1.8.1.3710  HLSW Dev Team        running    
RegEx                   1.8.1.3710  AMX Mod X Dev Team   running 

To na pewno nie wina modułów.

 

Jeszcze raz przeanalizowałem logi. Błąd Couldn't connect with db występuje tylko za pierwszym razem po uruchomieniu serwera do końca mapy.

Po zmianie mapy(i kolejnych) zostaje już tylko błąd:

Query failed:

Błąd chyba tkwi w tworzeniu tabeli - brak w tym atrybutów. Gdy ręcznie tworzyłem zapytanie sql miałem taki błąd:

#1170 - BLOB column 'name' used in key specification without a key length

Proszę kogoś o pomoc


Użytkownik Scorpion Flail edytował ten post 24.08.2013 20:32
Odpowiedz