Russian Qt Forum

Qt => Базы данных => Тема начата: demaker от Ноябрь 28, 2016, 15:23



Название: IBASE и библиотека fbclient
Отправлено: demaker от Ноябрь 28, 2016, 15:23
Собрал драйвер. Написал приложение.
На моем компе работает. Но на компе другого пользователя нет.
Выдает ошибку драйвера, но не пойму почему все либы, которые возможно я подкинул к ехе-файлу.
Помогите разобраться ??? ??? ???
Код
C++ (Qt)
Application::Application(int &argc, char **argv)
   :QApplication(argc, argv)
{    
   QString path = QDir::currentPath();
   qDebug()<<"path = "<<path;
 
   QFile file;
   file.setFileName(path + "/path.ini");
   if(file.exists()){
       QSettings settings(path + "/path.ini", QSettings::IniFormat);
       settings.beginGroup("sql");
       QString str_path = settings.value("path").toString();
       QString str_host_name = settings.value("host_name").toString();
       int port =  settings.value("port").toInt();
       QString str_user_name = settings.value("user_name").toString();
       QString str_password = settings.value("password").toString();
       settings.endGroup();
       QSqlDatabase db = QSqlDatabase::addDatabase("QIBASE");
 
        if (!db.isValid())
       {
           qDebug() << "[ " + QDateTime::currentDateTime().toString("dd.MM.yyyy - hh.mm.ss") + " ]" << db.lastError().text();
           QMessageBox::critical(0,"Database",db.lastError().text(),QMessageBox::Ok);
   return;
       }
 
       db.setDatabaseName(str_path);
       db.setHostName(str_host_name);
       db.setPort( port );
       db.setUserName(str_user_name);
       db.setPassword(str_password);
 
       if(!db.open())
       {
           QString str = db.lastError().text();
           qCritical() << "[ " + QDateTime::currentDateTime().toString("dd.MM.yyyy - hh.mm.ss") + " ]" <<str;
           QMessageBox::critical(0,"Database",str,QMessageBox::Ok);
           //connectDB = false;
           return;
       }
       qDebug()<<"Connect DataBase";
       qDebug()<<"tables "<<db.tables(QSql::Tables).count()<<": "<<db.tables(QSql::Tables);
   }
   else{
       QMessageBox::critical(0,"Settings","No File Settings",QMessageBox::Ok);
   }
}
 
Application::~Application()
{
}
 


Название: Re: IBASE и библиотека fbclient
Отправлено: break от Ноябрь 29, 2016, 22:29
А какие либы Вы статически прилинковали к своему экзешнику? fbclient требуется QT-шному плагину, как я понимаю ни плагин к программе статически не может быть прилинкован, ни fbclient к плагину тоже. Вот оно и не работает.


Название: Re: IBASE и библиотека fbclient
Отправлено: demaker от Ноябрь 30, 2016, 19:54
А какие либы Вы статически прилинковали к своему экзешнику? fbclient требуется QT-шному плагину, как я понимаю ни плагин к программе статически не может быть прилинкован, ни fbclient к плагину тоже. Вот оно и не работает.
Да Вы правы. Либы это dll-ки стандартый набор , чтобы
exe файл запустился. И он запускается, а база не пашет. И что мне делать?




Название: Re: IBASE и библиотека fbclient
Отправлено: break от Ноябрь 30, 2016, 22:13
Что пишет-то? Очевидно не все ДЛЛ-ки видны запускаемому файлу. Не знаю как в Виндовс, возможно плагин БД должен в специальной папке лежать, а не просто рядом с EXE-шником.


Название: Re: IBASE и библиотека fbclient
Отправлено: lit-uriy от Декабрь 02, 2016, 11:48
http://www.wiki.crossplatform.ru/index.php/Развертывание_приложений_Qt_в_MS_Windows (http://www.wiki.crossplatform.ru/index.php/Развертывание_приложений_Qt_в_MS_Windows)


Название: Re: IBASE и библиотека fbclient
Отправлено: demaker от Декабрь 08, 2016, 14:13
Спасибо