I have build moore as 10 application on window and all running on Wine LINUX http://www.winehq.com/ on installer and so... whitout crasch or soo..
Now i try to convert access db on a console apps and cant not connect Why?
http://www.dependencywalker.com/ depend.exe not find moore dll wo i can insert...
/* convert stupid access to sqlite3 */
void RegDB
::SetDbFile( const QString dbfile
) {
#if defined Q_WS_MAC
std::cout << "### Error MAC not having QODBC Microsoft Access Driver. Use WINE or similar." << std::endl;
return;
#endif
#if defined Q_WS_X11
std::cout << "### Error Linux not having QODBC Microsoft Access Driver. Use WINE or similar." << std::endl;
return;
#endif
#if defined Q_WS_WIN
std::cout << "### Wait... Load QODBC Microsoft Access." << std::endl;
#endif
if (!drivers.contains("QODBC")) {
std::cout << "### Load QODBC Microsoft Access Driver Fail!." << std::endl;
return;
}
const QString command
= QString("DRIVER={Microsoft Access Driver (*.mdb)};FIL={MS Access};DBQ=%1").
arg(dbfile
);
FileName = fi.fileName();
newsqlite3DB
= QString("%1.sqlite3").
arg(fi.
baseName());
/* temp database sqlite3 binary */ newsqlite3_DUMPDB
= QString("%1.sql").
arg(fi.
baseName());
/* dump file sql text to gz */ db0.setDatabaseName(command);
if (db0.open()) {
std::cout << "### Microsoft Access Driver =" << db0.open() << std::endl;
} else {
std::cout << "Error file Microsoft Access Driver DBAccessOpen=" << db0.open() << std::endl;
return;
}
std::cout << "### Wait.. Convert Microsoft Access to SQLITE3...." << std::endl;
}
/* convert stupid access to sqlite3 */
void RegDB::SetDbFile( const QString dbfile )
{
#if defined Q_WS_MAC
std::cout << "### Error MAC not having QODBC Microsoft Access Driver. Use WINE or similar." << std::endl;
return;
#endif
#if defined Q_WS_X11
std::cout << "### Error Linux not having QODBC Microsoft Access Driver. Use WINE or similar." << std::endl;
return;
#endif
#if defined Q_WS_WIN
std::cout << "### Wait... Load QODBC Microsoft Access." << std::endl;
#endif
QStringList drivers = QSqlDatabase::drivers();
if (!drivers.contains("QODBC")) {
std::cout << "### Load QODBC Microsoft Access Driver Fail!." << std::endl;
return;
}
const QString command = QString("DRIVER={Microsoft Access Driver (*.mdb)};FIL={MS Access};DBQ=%1").arg(dbfile);
QFileInfo fi(dbfile);
FileName = fi.fileName();
newsqlite3DB = QString("%1.sqlite3").arg(fi.baseName()); /* temp database sqlite3 binary */
newsqlite3_DUMPDB = QString("%1.sql").arg(fi.baseName()); /* dump file sql text to gz */
db0 = QSqlDatabase::addDatabase("QODBC");
db0.setDatabaseName(command);
if (db0.open()) {
std::cout << "### Microsoft Access Driver =" << db0.open() << std::endl;
} else {
std::cout << "Error file Microsoft Access Driver DBAccessOpen=" << db0.open() << std::endl;
return;
}
std::cout << "### Wait.. Convert Microsoft Access to SQLITE3...." << std::endl;
}
To copy to clipboard, switch view to plain text mode
Bookmarks