View Full Version : [Qt 4.7] Non riesco a connettermi al database
error 404
25-09-2011, 13:31
Salve a tutti,
sto provando a connettermi ad un database fatto con libreoffice. Uso driver ODBC.
QSqlDatabase db = QSqlDatabase::addDatabase(QODBCDriver);
db.setHostName("prova");
db.setDatabaseName("/home/username/Documents/database_prova.odb");
ma mi dice che nel file "qsql_odbc.h" quando prova ad includere "sql.h", questo file non viene trovato.
Prima avevo tentato con mysql, in quel caso non veniva trovato "mysql.h".
Sapete aiutarmi? Uso Ubuntu 11.04.
Grazie ciao
tomminno
25-09-2011, 18:20
Ti mancano gli header e (forse, dato che sei su Linux) le librerie ODBC.
Nel caso di MySql ti mancavano sicuramente gli header.
Gimli[2BV!2B]
26-09-2011, 00:34
apt-file (http://guide.debianizzati.org/index.php/Apt-file:_ricerca_all'interno_dei_pacchetti) è solitamente la strada più comoda per rintracciare il pacchetto di sviluppo da installare per avere gli header mancanti.
Esempio di ricerca dei due file che citi su una Debian Sid con evidenziati i pacchetti che mi sembrano più corretti (per sql.h ce ne son due... credo possa essere una situazione dovuta a Sid):
root@altarf:~# apt-file --regexp search .*/mysql.h$
libmysqlclient-dev: /usr/include/mysql/mysql.h
pike7.8-mysql: /usr/lib/pike7.8/7.4/include/mysql.h
root@altarf:~# apt-file --regexp search .*/sql.h$
libiodbc2-dev: /usr/include/sql.h
libmailutils-dev: /usr/include/mailutils/sql.h
libwine-dev: /usr/include/wine/windows/sql.h
libwine-dev-unstable: /usr/include/wine/windows/sql.h
mingw-w64-dev: /usr/i686-w64-mingw32/include/sql.h
mingw-w64-dev: /usr/x86_64-w64-mingw32/include/sql.h
mingw32-runtime: /usr/i586-mingw32msvc/include/sql.h
pike7.8-core: /usr/lib/pike7.8/include/sql.h
unixodbc-dev: /usr/include/sql.hRipeti le ricerche sul tuo sistema, potrebbero esserci discrepanze dovute ai vari mesi che separano Ubuntu 11.04 dall'attuale Sid.
error 404
27-09-2011, 18:55
Per le librerie ODBC ho installato unixODBC da Synaptic Package, quindi dovrebbero esserci. Ho anche messo il plugin per Qt.
Ho provato a fare la ricerca dei file e sono spuntati entrambi: mysql.h l'ho trovato anche fisicamente, mentre sql.h è presente nella ricerca, ma non esiste il file.
Gimli[2BV!2B]
27-09-2011, 19:08
La ricerca di apt-file viene fatta tra *tutti i file contenuti in tutti i pacchetti installabili*, da come scrivi mi sembra di capire che lo trovi lì ma non hai installato il pacchetto riportato (libiodbc2-dev oppure unixodbc-dev), quindi il file non è presente nel tuo sistema.
Giusto ieri sera mi sono accorto che il risultato riportato per sql.h è corretto: unixODBC (http://www.unixodbc.org/) ed iODBC (http://www.iodbc.org/dataspace/iodbc/wiki/iODBC/) sono due differenti implementazioni ODBC per sistemi *nix.
Non so quale delle due sia consigliabile, soprattutto in accoppiata con QT.
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.