Поиск:

Ответ в темуСоздание новой темы Создание опроса
> [Qt + Firebird2.0] Error opening database , R6034 An aplication has made an attempt 
:(
    Опции темы
fear
Дата 30.3.2008, 14:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 171
Регистрация: 16.4.2006

Репутация: нет
Всего: 1



Собрал ibase драйвер с заголовками и либами firebird, собирал так:
Цитата
1) Заменил содержимое '\Qt\src\plugins\sqldrivers\ibase\ibase.pro' на 
------------------------------------------------------------------------------------
TARGET    = qsqlibase
HEADERS      = ../../../sql/drivers/ibase/qsql_ibase.h
SOURCES      = main.cpp \
        ../../../sql/drivers/ibase/qsql_ibase.cpp

unix:!contains( LIBS, .*gds.* ):!contains( LIBS, .*libfb.* ):LIBS    *= -lgds

win32:!contains( LIBS, .*gds.* ):!contains( LIBS, .*fbclient.* ) {    
INCLUDEPATH += D:\Programs\Firebird\Firebird_2_0\include
LIBS += -LD:\Programs\Firebird\Firebird_2_0\lib
   !win32-borland:LIBS *= -lfbclient_ms
   win32-borland:LIBS  += fbclient_bor.lib
}

include(../qsqldriverbase.pri)
------------------------------------------------------------------------------------
2) Собрал проект
   cd \Qt\src\plugins\sqldrivers\ibase
   qmake ibase.pro && nmake


C помощью IBExpert создал тестовую базу.
При первом подключении поймал исключение "R6034 An aplication has made an attempt to load C runtime library incorrectly", при последующих исключения не было. В lastError содержится следующее: "Unsuccessful execution caused by a system error that precludes successful execution of subsequent statements Error opening database". Что не так?

Код

int main(int argc, char *argv[])
{
  QCoreApplication a(argc, argv);
  QTextStream out(stdout);
 
  QSqlDatabase db = QSqlDatabase::addDatabase("QIBASE", "TestMyDB");
  db.setHostName("localhost");
  db.setDatabaseName("testdb");
  //db.setDatabaseName("D:/Temp/test.fdb");
  db.setUserName("TEST");
  db.setPassword("ABC");

  if(!db.open())
  {
    QString error = db.lastError().text();
    out<<"db open error: "<<error<<endl;
  }
  else
    out<<"db connection...";

  return 0;
}


_________________________________________________
Qt 4.3.1 win com, VS2005 Pro SP1, Vista x64, Firebird-2.0.1.12855-1-Win32
PM MAIL   Вверх
ecspertiza
Дата 9.11.2008, 12:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 763
Регистрация: 3.11.2008
Где: г.Смоленск

Репутация: 4
Всего: 5



недавно столкнулся с такойже проблемой попробуй вот так:
Код

int main(int argc, char *argv[])
{
  QCoreApplication a(argc, argv);
  QTextStream out(stdout);
 
  QSqlDatabase db = QSqlDatabase::addDatabase("QIBASE", "TestMyDB");
  db.setDatabaseName("D:\\Temp\\test.fdb");
  db.setUserName("TEST");
  db.setPassword("ABC");
  if(!db.open())
  {
    QString error = db.lastError().text();
    out<<"db open error: "<<error<<endl;
  }
  else
    out<<"db connection...";
  return 0;
}


я поставил второй бэкслэш и всё прошло.


--------------------
С уважением,
мастер конфетного цеха!

онлайн компилер
залип
PM MAIL   Вверх
SABROG
Дата 9.11.2008, 12:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Hacker
****


Профиль
Группа: Завсегдатай
Сообщений: 2481
Регистрация: 18.9.2006

Репутация: 81
Всего: 91



Ему это не поможет. Qt прекрасно понимает слэши в путях, их не надо экранировать в отличае от бэкслэшей.
Драйвер не будет открывать базу, если не передан плный путь к ней. Ну и не совсем понятно, почему используются разные названия имени базы данных "testdb" и "test"

Это сообщение отредактировал(а) SABROG - 9.11.2008, 13:05


--------------------
Национальная группа Russian Federation на QtCentre.
PM MAIL   Вверх
baggins
Дата 26.11.2008, 18:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 32
Регистрация: 22.11.2008

Репутация: нет
Всего: нет



недавно начал программировать в QT и тоже столкнулся с проблемой подключения firebird...использовал кусок кода приведенный здесь, выдает ошибку

connect.cpp: In function ‘int main(int, char**)’:
connect.cpp:17: ошибка: invalid use of undefined type ‘struct QSqlError’
/usr/include/qt4/QtSql/qsqldatabase.h:53: ошибка: forward declaration of ‘struct QSqlError’
connect.cpp:17: предупреждение: unused variable ‘error’
make: *** [connect.o] Ошибка 1

не подскажете в чем проблема?
PM MAIL   Вверх
baggins
Дата 26.11.2008, 19:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 32
Регистрация: 22.11.2008

Репутация: нет
Всего: нет



ой извините, туплю...забыл заголовочный файл подключить)
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С/С++: Кроссплатформенное программирование, QT/Gtk+/wxWidgets"
JackYF
Любитель
  • В заголовке темы в квадратных скобках обозначьте используемую вами библиотеку, например: [QT],[GTK],[wx].
  • Если вопрос актуален только для некоторой версии библиотеки, либо, если вы пользуетесь не самой последней версией, укажите это. Например: [QT4], [GTK2].
  • Все начинающие изучать Qt - не забудьте зайти сюда.
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • В вопросе укажите полную версию версию библиотеки, а также все дополнительные используемые программные пакеты.
  • Не забывайте пользоваться кнопкой "Код".
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к тематике этого раздела. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, Любитель.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets | Следующая тема »


 




[ Время генерации скрипта: 0.0427 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.