Russian Qt Forum
Февраль 10, 2012, 16:23
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Базы данных
(Модератор:
Sergeich
) >
Транзакции Interbase
Страниц:
1
...
8
9
[
10
]
11
12
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: Транзакции Interbase (Прочитано 24466 раз)
arial
Новичок
Offline
Сообщений: 32
Re: Транзакции Interbase
«
Ответ #135 :
Июнь 30, 2010, 11:24 »
На гуглокод напиши.
Записан
varkon
Чайник
Offline
Сообщений: 55
Re: Транзакции Interbase
«
Ответ #136 :
Июль 06, 2010, 17:04 »
Подскажите пожалуйста в чем моя ошибка. Скачал файлы проекта и фалы ibpp, как и написано в ридми - добавил папку core в папку соотвествующей версии - в данном случае - ibpp2531, добавил в файл ibpp.pri
Код:
HEADERS += $$PWD/core/ibpp.h \
$$PWD/core/ibpp.h \
$$PWD/core/iberror.h \
$$PWD/core/ibase.h \
$$PWD/core/_ibpp.h \
$$PWD/core/ibpp.h \
$$PWD/core/iberror.h \
$$PWD/core/ibase.h \
$$PWD/core/_ibpp.h \
$$PWD/core/ibpp.h \
$$PWD/core/iberror.h \
$$PWD/core/ibase.h \
$$PWD/core/_ibpp.h
SOURCES += $$PWD/core/all_in_one.cpp \
$$PWD/core/transaction.cpp \
$$PWD/core/time.cpp \
$$PWD/core/statement.cpp \
$$PWD/core/service.cpp \
$$PWD/core/row.cpp \
$$PWD/core/exception.cpp \
$$PWD/core/events.cpp \
$$PWD/core/dbkey.cpp \
$$PWD/core/date.cpp \
$$PWD/core/database.cpp \
$$PWD/core/blob.cpp \
$$PWD/core/array.cpp \
$$PWD/core/all_in_one.cpp \
$$PWD/core/_tpb.cpp \
$$PWD/core/_spb.cpp \
$$PWD/core/_rb.cpp \
$$PWD/core/_ibs.cpp \
$$PWD/core/_ibpp.cpp \
$$PWD/core/_dpb.cpp \
$$PWD/core/user.cpp
выполнил qmake, пытаюсь собрать проект - получаю кучу предупреждений
Цитировать
build/debug/all_in_one.o:e:/qt/2010.02.1/mingw/bin/../lib/gcc/mingw32/4.4.0/include/c++/exception:62: multiple definition of `ibpp_internals::GDS::Call()'
build/debug/all_in_one.o:e:/qt/2010.02.1/mingw/bin/../lib/gcc/mingw32/4.4.0/include/c++/new:101: first defined here
...
и ошибок:
Код:
build/debug/all_in_one.o:all_in_one.cpp::-1: error: multiple definition of `ibpp_internals::DPB::BUFFERINCR'
что я делаю не правильно?
Записан
arial
Новичок
Offline
Сообщений: 32
Re: Транзакции Interbase
«
Ответ #137 :
Июль 07, 2010, 06:48 »
В ibpp.pri ничего добавлять не надо.
Записан
varkon
Чайник
Offline
Сообщений: 55
Re: Транзакции Interbase
«
Ответ #138 :
Июль 07, 2010, 07:11 »
Цитата: arial от Июль 07, 2010, 06:48
В ibpp.pri ничего добавлять не надо.
Ну может быть.
В принципе разобрался в чем причина. В ридми прописано:
Цитировать
2. Copy IBPP source code to project/ibpp* dir,
На самом деле надо копировать не все - в директории сорцов ibpp лежит файл howtobuild - в которым черным по белому написано:
Цитировать
All the other code files (*.cpp) of the 'ibpp/core' folder must be compiled and
linked with your application as if they were original portions of your
application, except the file 'all_in_one.cpp'.
Т.е. надо либо все файлы, кроме "все в одном", либо только его. Я остановился на первом варианте, хотя может и второй удобнее. Ну и не забыть убрать цели сборки all_in_one из всех остальных файлов.
Записан
sarbash
Чайник
Offline
Сообщений: 87
Re: Транзакции Interbase
«
Ответ #139 :
Июль 07, 2010, 08:43 »
Я тупо распаковал архив "ibpp-2-5-3-1-src.zip" в "..\qtfirebirdibppsqldriver-read-only\AxQtFbIbppSqlDriver\ibpp2531\" и собрал драйвер. Никаких дополнительных телодвижений не потребовалось. Да, еще либу от сервера положил в "\lib" (fbclient.lib).
P.S. Инструкция по сборке в "README.txt" драйвера, чтиво из "ibpp-2-5-3-1-src.zip" не нужно для сборки драйвера.
«
Последнее редактирование: Июль 07, 2010, 08:47 от sarbash
»
Записан
В главном - единство, во второстепенном - свобода, во всём - любовь.
varkon
Чайник
Offline
Сообщений: 55
Re: Транзакции Interbase
«
Ответ #140 :
Июль 09, 2010, 09:43 »
Цитата: sarbash от Июль 07, 2010, 08:43
Я тупо распаковал архив "ibpp-2-5-3-1-src.zip" в "..\qtfirebirdibppsqldriver-read-only\AxQtFbIbppSqlDriver\ibpp2531\" и собрал драйвер. Никаких дополнительных телодвижений не потребовалось. Да, еще либу от сервера положил в "\lib" (fbclient.lib).
P.S. Инструкция по сборке в "README.txt" драйвера, чтиво из "ibpp-2-5-3-1-src.zip" не нужно для сборки драйвера.
Я так сделал под Linux - все собралось нормально. Единственное - в файле
_ibpp.h
мне пришлось добавить один инклад:
Код:
#include <cstring>
Записан
sarbash
Чайник
Offline
Сообщений: 87
Re: Транзакции Interbase
«
Ответ #141 :
Июль 13, 2010, 16:16 »
Тот Патч
http://code.google.com/p/qtfirebirdibppsqldriver/issues/detail?id=9
, что я выкладывал, в общем, он глючный и пользоваться им не следует. Надеюсь, кроме меня никто не успел его попользовать, но на всякий случай решил отметить.
Записан
В главном - единство, во второстепенном - свобода, во всём - любовь.
sarbash
Чайник
Offline
Сообщений: 87
Re: Транзакции Interbase
«
Ответ #142 :
Июль 13, 2010, 21:13 »
В догонку к предыдущему сообщению.
В справке написано, что QIBASE поддерживает возвращаемое значение от ХП. Неплохо было бы допилить и этот драйвер... Моя попытка оказалась не удачной, может кому больше повезёт? Функционал, вообще-то, очень нужный. Да и тот же RETURNING тогда бы работал. У кого какие соображения по этому поводу? В списке рассылки по ibpp мне ответили, что данный функционал поддерживается, а здесь мне только SELECT-ом удалось получить значение от процедуры...
Записан
В главном - единство, во второстепенном - свобода, во всём - любовь.
lit-uriy
Джедай : наставник для всех
Offline
Сообщений: 3294
Re: Транзакции Interbase
«
Ответ #143 :
Июль 13, 2010, 22:51 »
>>а здесь мне только SELECT-ом удалось получить значение от процедуры...
А процедура какая была, процедура выбора или выполняемая процедура?
Записан
Юра.
varkon
Чайник
Offline
Сообщений: 55
Re: Транзакции Interbase
«
Ответ #144 :
Июль 14, 2010, 03:27 »
Цитата: sarbash от Июль 13, 2010, 21:13
В догонку к предыдущему сообщению.
В справке написано, что QIBASE поддерживает возвращаемое значение от ХП. Неплохо было бы допилить и этот драйвер... Моя попытка оказалась не удачной, может кому больше повезёт? Функционал, вообще-то, очень нужный. Да и тот же RETURNING тогда бы работал. У кого какие соображения по этому поводу? В списке рассылки по ibpp мне ответили, что данный функционал поддерживается, а здесь мне только SELECT-ом удалось получить значение от процедуры...
вероятно в процедуре у тебя присутствует
suspend
. Именно поэтому работает только select для получения возвращаемого значения. Это нормально.
Записан
sarbash
Чайник
Offline
Сообщений: 87
Re: Транзакции Interbase
«
Ответ #145 :
Июль 14, 2010, 07:18 »
Цитата: varkon от Июль 14, 2010, 03:27
вероятно в процедуре у тебя присутствует
suspend
. Именно поэтому работает только select для получения возвращаемого значения. Это нормально.
Ага! Точно! Так и есть. Процедуры я делал в "Эксперте", там в шаблоне по-умолчанию suspend стоит. Похоже, я плохо с ними разобрался... Прошу прощения, ушёл учить матчасть...
Записан
В главном - единство, во второстепенном - свобода, во всём - любовь.
sarbash
Чайник
Offline
Сообщений: 87
Re: Транзакции Interbase
«
Ответ #146 :
Июль 14, 2010, 13:34 »
Цитата: lit-uriy от Июль 13, 2010, 22:51
>>а здесь мне только SELECT-ом удалось получить значение от процедуры...
А процедура какая была, процедура выбора или выполняемая процедура?
Из селективной процедуры вроде бы значение можно получить, а вот из исполняемой пока мне значение выудить не удалось.
Не понимаю, что делать?.. Остается только все делать селективными и селектами брать значения. Хотя, теоретически, исполняемая должна же синглтон хотя бы возвращать, или на бумаге одно, а на практике как повезёт? Кому-нибудь удалось вообще получить возвращаемые значения из исполняемых процедур или это я один такой счастливчик?
Код:
q.exec("execute procedure GET_AGENCY_NAME")
...
q.first();
qDebug() << q.value(0);
Вывод:
QSqlQuery::value: not positioned on a valid record
QVariant(, )
SOS.
Записан
В главном - единство, во второстепенном - свобода, во всём - любовь.
lit-uriy
Джедай : наставник для всех
Offline
Сообщений: 3294
Re: Транзакции Interbase
«
Ответ #147 :
Июль 14, 2010, 21:05 »
я через ODBC-драйвер делал execute procedure, всё как в аптеке работало.
А через QIBASE не пробовал, сейчас того исходника нет, чтобы быстро проверить.
Записан
Юра.
sarbash
Чайник
Offline
Сообщений: 87
Re: Транзакции Interbase
«
Ответ #148 :
Июль 15, 2010, 00:12 »
Меня больше интересует, как получить возвращаемое значение в драйвере, обсуждаемом в топике? То, что написано в справке про QIBASE имеет очень косвенное отношение к QFIREBIRD. Понятно, что там возвращаемое значение извлекается, как если бы это был набор данных, но как это реализовано здесь и реализовано ли вообще?
Подразумеваю "EXECUTE PROCEDURE proc_name" с возвращаемыми значениями. Или кроме меня никто это не использует?
Записан
В главном - единство, во второстепенном - свобода, во всём - любовь.
varkon
Чайник
Offline
Сообщений: 55
Re: Транзакции Interbase
«
Ответ #149 :
Июль 15, 2010, 07:23 »
Цитата: sarbash от Июль 15, 2010, 00:12
Меня больше интересует, как получить возвращаемое значение в драйвере, обсуждаемом в топике? То, что написано в справке про QIBASE имеет очень косвенное отношение к QFIREBIRD. Понятно, что там возвращаемое значение извлекается, как если бы это был набор данных, но как это реализовано здесь и реализовано ли вообще?
Подразумеваю "EXECUTE PROCEDURE proc_name" с возвращаемыми значениями. Или кроме меня никто это не использует?
я использую в основном селективные возвращаемые значения - т.е. которые с suspend - если критично именно возвращаемое - проверю сегодня-завтра отпишусь.
Записан
Страниц:
1
...
8
9
[
10
]
11
12
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> Печать
=> Интернационализация, локализация
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
=> Архив
===> Программирование
=====> Python
===> Веб программирование
=====> PHP, PERL, CGI
Загружается...