Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - MySql e c++
Forum - C/C++ - MySql e c++

Avatar
Scorpion2k (Normal User)
Newbie


Messaggi: 4
Iscritto: 17/10/2015

Segnala al moderatore
Postato alle 12:31
Sabato, 17/10/2015
Buongiorno,

sono due giorni che sto cercando di compilare un programmino di esempio (https://dev.mysql.com/doc/connector-cpp/en/connector-cpp-ex ... senza successo...

E' la prima volta che utilizzo MySql con c++, ma per ora sto riscontrando solo problemi su problemi con il connector.

Qualcuno riesce a spiegarmi come faccio ad integrarlo in maniera funzionante con dev-c++ o code::blocks??

O semplicemente dirmi qual'è il miglior modo per gestire database relazionali utilizzando c++?

PM Quote
Avatar
TheDarkJuster (Member)
Guru^2


Messaggi: 1620
Iscritto: 27/09/2013

Segnala al moderatore
Postato alle 12:46
Sabato, 17/10/2015
No. Non ti diciamo niente finchè non ci dici cosa non va. "problemi su problemi" non ci aiuta minimamente a capire cosa c'è che non va. Inoltre sia code::blocks che dev-c++ sono IDE e non hanno nulla in comune al compilatore. Una domanda così vaga merita una risposta vaga. Hai scaricato il connector? hai aggiunto gli headers alla compilazoine? Hai linkato la libreria? Che compilatore stai usando?

La seconda richiesta è peggio della prima: "qual'è il miglior modo per gestire database relazionali utilizzando c++". Cosa intendi per "migliore"? Il più semplice? Il più elegante? Che risponde maggiormente alle esigenze dell'impiego che ti serve? Il più veloce in esecuzione? migliore...... su cosa?

PM Quote
Avatar
Scorpion2k (Normal User)
Newbie


Messaggi: 4
Iscritto: 17/10/2015

Segnala al moderatore
Postato alle 14:59
Sabato, 17/10/2015
Allora utilizzo la orwell dev c++ con compilatore TDM-GCC 4.9.2 a 64 bit , ho scaricato il binary del connector 1.1.6 e l'ho installato, ho aggiunto gli header e la libreria, ma mi ritrovo con questo errore "undefined reference to `__imp_get_driver_instance'", ho cercato informazioni sull'errore,ma ancora non riesco a risolvere.


Per quanto riguarda la seconda parte della domanda diciamo che per migliore intendo il più veloce da utilizzare per gestire db relativamente poco complessi, immagino che il modo migliore per gestire un db mysql sia quello di utilizzare il connector, ma magari sai consigliarmi qualche alternativa valida.







PM Quote
Avatar
TheDarkJuster (Member)
Guru^2


Messaggi: 1620
Iscritto: 27/09/2013

Segnala al moderatore
Postato alle 15:11
Sabato, 17/10/2015
"la libreria" grazie. Quale delle due? Inoltre...... sbaglio o stai cercando di linkare una libreria .lib usando gcc? Non che non si possa fare, ma ho come l'impressione che quella libreria sia stata costruita con il compilatore c++ di microsoft........... Ho appena fatto una prova e con visual studio 2015 riesco a linkare la libreria (dinamica) e compilo l'esempio senza errori, il programma parte e non ho alcun problema.

Io fossi in te proverei:
1) provo a unire la libreria dinamica, anzichè la statica
2) provo a ricompilare la libreria
3) cambio compilatore e IDE, anche perchè dev-c++ è la peggior scelta possibile sotto il punto di vista IDE per c++

Tu sei sicuro che ti serva un database mysql? perchè non postgresql? perchè non sqlite? perchè non firebird?
"immagino che il modo migliore per gestire un db mysql sia quello di utilizzare il connector" ti piace proprio dire migliore aspettandoti che gli altri capiscano ciò che vuoi....... Se intendi migliore come = "più comodo per l'utente finale, purchè venga scritto un programma apposito che risponde alle sue personali esigenze" allora sì, è il migliore. se intendi "il più diretto possibile" e/o "il più legato al database mysql stesso" allora decisamente no.

Giusto per informazione... con code::blocks puoi compilare sia con il compilatore microsoft, che con clang che con gcc.

Ultima modifica effettuata da TheDarkJuster il 17/10/2015 alle 15:35
PM Quote
Avatar
Scorpion2k (Normal User)
Newbie


Messaggi: 4
Iscritto: 17/10/2015

Segnala al moderatore
Postato alle 15:46
Sabato, 17/10/2015
Scusami è che non ho mai utilizzato più di tanto c++, non lo utilizzo da parecchio ed è la prima volta che ne utilizzo librerie esterne per un mio programma, appena riesco provo utilizzando visual studio dato che da quello che ho visto dev è morto da anni.

Per quanto riguarda il database utilizzerei mysql per il semplice fatto che l'ho sempre utilizzato come db in tutti i miei progetti, quindi solo per una questione di comodità non per altro.

(Hai azzeccato il mio concetto di migliore "più comodo per l'utente finale, purchè venga scritto un programma apposito che risponde alle sue personali esigenze" :yup: )


PM Quote
Avatar
TheDarkJuster (Member)
Guru^2


Messaggi: 1620
Iscritto: 27/09/2013

Segnala al moderatore
Postato alle 16:07
Sabato, 17/10/2015
Non si sceglie un RDBMS solo perchè ti piace di più, devi guardare le dimensioni del progetto e il suo scopo. Se vuoi un db gestibile con SQL ma senza necessità di avere un web server, con un database che sta in un file, e veloce in lettura e scrittura ti consiglio sqlite, che ha un licenza completamente libera e una vasta compatibilità di tools a librerie. Se hai un db molto pù complesso e con molti join postgresql fa per te.

PM Quote
Avatar
Scorpion2k (Normal User)
Newbie


Messaggi: 4
Iscritto: 17/10/2015

Segnala al moderatore
Postato alle 17:10
Sabato, 17/10/2015
Ooook c'ho messo parecchio,ma alla fine ce l'ho fatta utilizzando vs :k:


Grazie mille per i consigli, ma ora come ora non sto lavorando su un progetto,ma solo per pura curiosità; ho già utilizzato sqlite per progetti semplici, appena ho un po di tempo proverò anche postgresql.



PM Quote
Avatar
TheDarkJuster (Member)
Guru^2


Messaggi: 1620
Iscritto: 27/09/2013

Segnala al moderatore
Postato alle 20:25
Sabato, 17/10/2015
Postgresql ha una licenza più libera di mysql e lo ho trovato più scattante su larga scala, mysql mi sembra pigro quando si tratta di fare molti join.....

PM Quote