PDA

Visualizza la versione completa : [C++] Effettuare connessione a MySQL con C++ includendo riferimenti a librerie


ginko75
09-07-2007, 16:59
Salve,
vorrei connettermi al mio server (locale su linux) Mysql con C++; ho installato il wrapper Mysql++ ma non funziona, il codice mi genera errore.
Qualcuno puoi indicarmi se c'è un aguida p un codice noto per la connessione.

Grazie

XWolverineX
10-07-2007, 09:02
Bhe sarebbe una buona idea postare il codice e l'errore che ti da...

ginko75
10-07-2007, 12:31
sono d'accordo, ma vorrei capire quello che sto facendo...finora ho copiato gli esempi e cercato di utilizzare gli scripts.
Vorrei invece sapere se le procedure che fiinora ho realizzato sono corrette e se sbaglio in qualcosa.
Quindi parto dall'aver scricato i sorgenti del mysql++ e fatto il ./configure e il make install.

Adesso vorrei capire quale passo si deve compiere, per effettuare la connessione. Uso il Kde developer per gli script in C++

Grazie

XWolverineX
10-07-2007, 12:48
Devi configurare KDE Develop in modo che prenda gli include e le lib dalle directory giuste.

ginko75
10-07-2007, 13:06
bene..
conosci il modo per farlo ? ho letto la guida del Kde ma non ho trovato nulla per il momento...ma non mi arrendo...ovviamente

ciAo e grazie

ginko75
10-07-2007, 14:13
Questo è il messaggio se provo a mandare in esecuzione il file resetdb degli esempi contenuti nella cartella della libreria mysql++:

Ginko:~/Desktop/mysql++/mysql++-2.2.3 # ./resetdb
Connecting to database server...
Connection failed: Access denied for user 'root'@'localhost' (using password: NO)


Pare che non accede al server, ma dove si realizza la configurazione

ginko75
10-07-2007, 18:26
ho risolto i problemi per fare girare i file di esempio del mysql++, adesso vorreipassare alla realizzazione di un progettino; tuttavia quando cerco di creare l'exe il compilatore mi fornisce il seguente errore:

cd '/server_c/database/debug' && WANT_AUTOCONF_2_5="1" WANT_AUTOMAKE_1_6="1" gmake -k
gmake all-recursive
Making all in src
if g++ -DHAVE_CONFIG_H -I. -I/server_c/database/src -I.. -O0 -g3 -MT database.o -MD -MP -MF ".deps/database.Tpo" -c -o database.o /server_c/database/src/database.cpp; then mv -f ".deps/database.Tpo" ".deps/database.Po"; else rm -f ".deps/database.Tpo"; exit 1; fi
/server_c/database/src/database.cpp:48:21: error: mysql++.h: No such file or directory
/server_c/database/src/database.cpp:49:19: error: iosteam: No such file or directory
/server_c/database/src/database.cpp:65:2: warning: no newline at end of file
/server_c/database/src/database.cpp: In function ‘int main(int, char**)’:
/server_c/database/src/database.cpp:55: error: ‘mysqlpp’ has not been declared
/server_c/database/src/database.cpp:55: error: expected `;' before ‘con’
/server_c/database/src/database.cpp:56: error: ‘con’ was not declared in this scope
/server_c/database/src/database.cpp:56: error: ‘connect_to_db’ was not declared in this scope
/server_c/database/src/database.cpp:58: error: ‘cout’ was not declared in this scope
/server_c/database/src/database.cpp:62: error: ‘cout’ was not declared in this scope
gmake[2]: *** [database.o] Error 1
gmake[2]: Target `all' not remade because of errors.
gmake[1]: *** [all-recursive] Error 1
gmake: *** [all] Error 2
*** Uscito con stato: 2 ***

Nessuno può darmi una mano o un suggerimento ?

Grazie

XWolverineX
10-07-2007, 18:54
Originariamente inviato da ginko75
ho risolto i problemi per fare girare i file di esempio del mysql++, adesso vorreipassare alla realizzazione di un progettino; tuttavia quando cerco di creare l'exe il compilatore mi fornisce il seguente errore:

cd '/server_c/database/debug' && WANT_AUTOCONF_2_5="1" WANT_AUTOMAKE_1_6="1" gmake -k
gmake all-recursive
Making all in src
if g++ -DHAVE_CONFIG_H -I. -I/server_c/database/src -I.. -O0 -g3 -MT database.o -MD -MP -MF ".deps/database.Tpo" -c -o database.o /server_c/database/src/database.cpp; then mv -f ".deps/database.Tpo" ".deps/database.Po"; else rm -f ".deps/database.Tpo"; exit 1; fi
/server_c/database/src/database.cpp:48:21: error: mysql++.h: No such file or directory
/server_c/database/src/database.cpp:49:19: error: iosteam: No such file or directory
/server_c/database/src/database.cpp:65:2: warning: no newline at end of file
/server_c/database/src/database.cpp: In function ‘int main(int, char**)’:
/server_c/database/src/database.cpp:55: error: ‘mysqlpp’ has not been declared
/server_c/database/src/database.cpp:55: error: expected `;' before ‘con’
/server_c/database/src/database.cpp:56: error: ‘con’ was not declared in this scope
/server_c/database/src/database.cpp:56: error: ‘connect_to_db’ was not declared in this scope
/server_c/database/src/database.cpp:58: error: ‘cout’ was not declared in this scope
/server_c/database/src/database.cpp:62: error: ‘cout’ was not declared in this scope
gmake[2]: *** [database.o] Error 1
gmake[2]: Target `all' not remade because of errors.
gmake[1]: *** [all-recursive] Error 1
gmake: *** [all] Error 2
*** Uscito con stato: 2 ***

Nessuno può darmi una mano o un suggerimento ?

Grazie

Questo è proprio il problema che immaginavo.
Devi dire all'IDE di prendere lib e include nelle cartelle in cui hai compilato mysql++

ginko75
10-07-2007, 19:38
quindi, volendo potrei anche compilare il mysql++ per ogni progetto che realizzo; ossia all'interno del progetto compilo il mysql++ e di conseguenza le librerie e gli inlude si trovano nel percorso giusto.

E' pura filosofia la mia, o se domani ci provo è la soluzione ?

Grazie cmq dei suggerimenti

ginko75

Squall1988
10-07-2007, 20:29
Io ci avevo provato tempo fa, poi avevo abbandonato perché molti server pubblici vietano connessioni MySQL esterne.
Comunque, può essere una soluzione includere fisicamente nel progetto i file che ti servono (che dovrebbero essere l'header file e il file .lib se non erro), in modo che il compilatore ed il linker trovino tutto.

Loading