Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1

    Connessione a MySQL tramite C++

    Buongiorno, sto collaborando ad un progetto con un amico e abbiamo necessità di connetterci via C++ ad un DBMS MySQL, hostato su AlterVista. Nel momento in cui lui prova ad accedere, con i dati giusti ovviamente, gli viene mostrato un messaggio di errore:
    codice:
    lost connection to MySQL server at 'reading communication packet', system error: 0
    Come possiamo risolvere?

  2. #2
    dovresti per lo meno postare il codice che si occupa della connessione, altrimenti non ho idea di come potremmo aiutarti
    all that you need:
    http://www.cplusplus.com/reference/clibrary/

  3. #3
    codice:
    MYSQL *mySql;
        MYSQL_RES *risultato;
        MYSQL_ROW riga;
    
        // inizializzo la connessione
        mySql = mysql_init(NULL);
    
        // provo a connettermi
        if(!mysql_real_connect(mySql,
            "alevale94.altervista.org",         // host
            "alevale94",                        // user
            "XXX",                     // password
            "my_alevale94",                     // database
            21, NULL, 0)) {                     // altro
            log->Lines->Add("Errore durante la connessione al database:\r\n");
            log->Lines->Add(mysql_error(mySql));
            return;
        }
        else
            log->Lines->Add("Connesso al database!\r\n");
    
        // faccio una query, mysql_query() ritorna 0 se riuscita
        if(mysql_query(mySql, "select * from *")) {
            log->Lines->Add("Impossibile effettuare la query:\r\n");
            log->Lines->Add(mysql_error(mySql));
            return;
        }
        else
            log->Lines->Add("Query effettuata con successo!");
    
        // ottengo il risultato della query
        risultato = mysql_store_result(mySql);
    
        if(!risultato) {
            log->Lines->Add("Impossibile prelevare il risultato della query:\r\n");
            log->Lines->Add(mysql_error(mySql));
            return;
        }
    
        // per tutte le ?
        for(unsigned int i = 0; i < risultato->row_count; i++) {
            riga = mysql_fetch_row(risultato);
    
            // per tutti i record
            for(unsigned int j = 0; j < mysql_num_fields(risultato); j++)
                ListBox1->Items->Add(riga[j]);
        }
    
        // libero la memoria per il risultato
        mysql_free_result(risultato);
    
        // chiudo la connessione
        mysql_close(mySql);
    Eccolo

  4. #4
    UP
    Possibile che nessuno possa aiutarmi? Dai per favore, sono giorni che aspetto!

  5. #5
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,301
    Sei sicuro che il provider accetti connessioni al database MySQL dall'esterno dei siti ospitati?
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  6. #6
    Faceva parte della mia domanda... sinceramente non ne ho la minima idea

  7. #7
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,301
    Originariamente inviato da AleVale94
    Faceva parte della mia domanda... sinceramente non ne ho la minima idea
    Forse vale la pena accertarsene...
    Banalmente, verifica se riesci a collegarti con qualsiasi altro strumento che non sia il tuo programma.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  8. #8
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,304
    Non usufruisco di AlterVista, ma dubito che il DB sia raggiungibile dall'esterno.
    Sul sito, infatti, c'è una sezione dedicata ai parametri di connessione con il DB (e c'è anche una FAQ in proposito):

    http://it.altervista.org/wiki/index....nessione_MySQL

    Se l'host da usare per la connessione è "localhost" mi pare evidente che possa essere acceduto solo ed esclusivamente dal software che gira sulle loro macchine e non dall'esterno.

    Poi, come già detto, non usufruisco del servizio, quindi magari esistono delle altre clausole...


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  9. #9
    Ho provato anche a caricare il sito su host bonsekis.com, ma il problema è lo stesso...

  10. #10
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,301
    Originariamente inviato da AleVale94
    Ho provato anche a caricare il sito su host bonsekis.com, ma il problema è lo stesso...
    E' una pratica comune non consentire l'accesso ai database forniti per l'uso dei siti in hosting, sia per questioni di performance che di sicurezza.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.