Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » InterBase и FireBird: вопросы по работе и их решение

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104

Открыть новую тему     Написать ответ в эту тему

X11



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Плохой канал, глюки сервера и т.п. приводят к периодическому отключения программы от сервера с БД. Буквально через секунду соединение восстанавливается, но нужно реконнектить отключившиеся датасеты. Подскажите, пожалуйста, как правильнее всего организовать обработку отключения от сервера с последующим восстановлением подключения и открытием датасетов/выполнением последней команды обновления данных?
FireBird 2.1.3, Delphi, FIB.

 
С форума DevRace
 

Цитата:
У TpFIBDatabase есть два свойства
 
function FIBDataSetsCount:integer;
property FIBDataSets[Index: Integer]:TFIBCustomDataSet read GetFIBDataSet;
 
Это перечень всех датасетов подключенных к базе. И открытых и закрытых. Само же открытие-закрытие централизованно можно отслеживать в компоненте TDataSetsContainer. Впрочем там же можно централизованно отслеживать и обрабатывать и другие события происходящие с датасетами.

devrace.com/ru/support/forum/index.php?PAGE_NAME=message&FID=16&TID=670&MID=2708#message2708

----------
/не мы такие, жизнь такая/

Всего записей: 3253 | Зарегистр. 24-11-2005 | Отправлено: 10:01 25-11-2010
EugeneBoss3



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Знатоки, подскажите как правильно создать домен с типом TIME и присвоить значение по умолчанию 00:00:00? SQL-диалект 3.

Всего записей: 247 | Зарегистр. 15-09-2009 | Отправлено: 03:11 02-12-2010
data man



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
EugeneBoss3
 
CREATE DOMAIN TIME_DOMAIN AS TIME DEFAULT '00:00:00';

----------
Любой достаточно развитый тролль неотличим от подлинно помешанного на какой-либо идее.
Кекс. Антибиотики. Ламбада.

Всего записей: 1696 | Зарегистр. 13-10-2005 | Отправлено: 03:37 02-12-2010
EugeneBoss3



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
data man
Спасибо, получилось. Почему IB Expert показывал ошибку раньше не понятно? Мой код был таким же.

Всего записей: 247 | Зарегистр. 15-09-2009 | Отправлено: 01:22 03-12-2010
kolyas



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Ранее я поднимал проблему
Ссылка
потом она ушла.. а сейчас снова проявилась.
 
Может у кого-нить есть что-нить выполняющее примерную задачу. Ну или наметки в какую сторону смотреть, чтоб макрос наваять.

Всего записей: 137 | Зарегистр. 19-03-2007 | Отправлено: 19:17 09-12-2010 | Исправлено: kolyas, 19:18 09-12-2010
MedvedevDM



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
А кто знает чем принципиально отличается Firebird от
своего сертифицированного аналога RED BAZA ?

Всего записей: 114 | Зарегистр. 03-11-2010 | Отправлено: 22:17 09-12-2010
X11



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Подскажите плиз.  
Есть база, в ней одна таблица содержит в blob полях jpeg и gif файлы.  
С помощью чего - попроще, можно вытащить эти картинки.  
Программка мож какая. Чтобы экспортировать и сразу в папочку.

Экспортировать в виде картинки?
Можно попробовать IBEScript.exe из набора IBExpert. Поддерживает не только FB блоки (EXECUTE BLOCK), но также и блоки своего формата (EXECUTE IBEBLOCK)
 
Можно попробовать эти инструменты FBEXPORT, FBCOPY:
http://fbexport.sourceforge.net/
сам не пробовал
 
Добавлено:

Цитата:
А кто знает чем принципиально отличается Firebird от
своего сертифицированного аналога RED BAZA ?  

Red DataBase, если правильно.
Мне кажется, отличий хватает.
Например есть полнотекстовый происк, внешние хранимки на яве (не путать с функциями UDF), есть возможности хеширование/шифрования (многофакторная аутентификация, контроль целостности файлов сервера, контроль целостности метаданных)
 
И здесь можно посмотреть:
http://www.red-soft.biz/files/downloads/products/2.1.3.6663_RC1/Release_Notes-ru.pdf

----------
/не мы такие, жизнь такая/

Всего записей: 3253 | Зарегистр. 24-11-2005 | Отправлено: 09:59 10-12-2010
tanaseduard



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
kolyas
 
Если рисунки не шифрованные и есть опыт в программировании то напиши за 5 мин прогу.
Идет по всему датасету и  сохраняет каждый блоб.
 
Или юзай IBScript

Всего записей: 518 | Зарегистр. 21-11-2009 | Отправлено: 10:11 10-12-2010
delover

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Подскажите пожалуйста, кто сталкивался. Простенькая хорошая программа в грид показывает квери. База немного выросла и когда пользователь убирает фильтры, то грузится 140 тысяч записей. На 130 вылетает ошибка "Out of memory". Компоненты стандартные Интербейз плюс ГридЭх. Какими путями, обходными или как можно сделать чтобы пользователь был доволен.

Всего записей: 1395 | Зарегистр. 25-06-2007 | Отправлено: 09:40 16-12-2010
OXDBA

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
1. Добавить памяти.
2. Ограничить кол-во записей через принудительно включаемый фильтр.
3. Тупо добавить в запрос rows 130000 + при сбросе фильтров сообщение юзверю 'Больше 130000 грузить не буду'
130 000 записей? Пользователю? И что он со всем этим счастьем будет делать? А завтра записей будет 13 000 000...

Всего записей: 426 | Зарегистр. 19-01-2005 | Отправлено: 10:38 16-12-2010
dimm78

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Подскажите пожалуйста, кто сталкивался. Простенькая хорошая программа в грид показывает квери. База немного выросла и когда пользователь убирает фильтры, то грузится 140 тысяч записей. На 130 вылетает ошибка "Out of memory". Компоненты стандартные Интербейз плюс ГридЭх. Какими путями, обходными или как можно сделать чтобы пользователь был доволен.


Цитата:
1. Добавить памяти.
2. Ограничить кол-во записей через принудительно включаемый фильтр.
3. Тупо добавить в запрос rows 130000 + при сбросе фильтров сообщение юзверю 'Больше 130000 грузить не буду'
130 000 записей? Пользователю? И что он со всем этим счастьем будет делать? А завтра записей будет 13 000 000...  

 
по 1 п. - Добавление памяти не прокатит - Не забывайте про ограничение количества памяти для одного процесса в системах Windows. Чтобы увеличить количество используемой процессом памяти придется переходить на использование 64-битной системы. И приложение придется тоже собирать на 64-битном компиляторе.
по 2 п. - верно. грамотно и логично построенные фильтры могут на какое то время исправить ситуацию.
по 3 п. - зачем такое сообщение? тогда ведь теряется смысл самой программы если она отказывается работать с набором данных при превышении какого то лимита))))
Таким образом - единственное более менее приемлемое решение - ограничить количество записей которое выдается пользователю. Нужно просто изучить то как пользователи работают и используют эти данные и попытаться наложить какие то ограничения.

Всего записей: 163 | Зарегистр. 07-12-2005 | Отправлено: 11:08 16-12-2010
EugeneBoss3



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
delover
Используй компонент DevArt IbDAC, у меня проблем с >150 000 не было! Работает шустро и корректно, а родной дельфийский Интербейз на той же задаче в 2,5 раза медленнее работает, а с фильтрами вообще тормозит.

Всего записей: 247 | Зарегистр. 15-09-2009 | Отправлено: 11:57 16-12-2010
X11



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
или FibPlus
 
Добавлено:
delover, это твоя программа или тебе её написали? В смысле есть ли исходники? Или есть доступ только к базе?

Всего записей: 3253 | Зарегистр. 24-11-2005 | Отправлено: 12:24 16-12-2010
delover

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Исходники как раз отданы под мою ответственность, то есть они есть. В грубом представлении программа построена на фильтрах, никаких алертеров, то есть набираются фильтры и по кнопке фильтрануть меняются данные в гриде. Там использовался вшитый в эхи футер с количеством. Я его убрал. Строю два селекта один 'select first 100000...', а второй для своего labelFooter 'select count (*)...'. Количество получается корректное а вот записей в гриде максимум 100000. Но я думаю этого счастья достаточно. Пользователь увидел что запросил много и пришлось ждать после этого подумал стоит ли рыться в таком объеме данных.
 
X11
Я то купил фибы, а вот на работе их надо ещё покупать...

Всего записей: 1395 | Зарегистр. 25-06-2007 | Отправлено: 14:07 16-12-2010
X11



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Они стоят они не дорого, уговорить начальство можно. Тем более, что будет  выигрыш в скорости разработки  и в скорости отображения.
 

Цитата:
Строю два селекта один 'select first 100000...',

А если пользователю понадобятся только те записи, которые вообще в результат не попали?
Может можно запретить пользователю нажимать кнопку ОК (Поиск), пока пользователь не укажет хотя бы один параметр для where.
 

Цитата:
 Там использовался вшитый в эхи футер с количеством.

Последние версии EhLib меня не очень устраивали. Глючные. Посмотри др. гриды.

----------
/не мы такие, жизнь такая/

Всего записей: 3253 | Зарегистр. 24-11-2005 | Отправлено: 14:21 16-12-2010
OXDBA

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
по 3 п. - зачем такое сообщение?  

В следующий раз вместо смайлика буду тонко намекать что это шутка.

Цитата:
Используй компонент DevArt IbDAC, у меня проблем с >150 000 не было

Повторяю вопрос про 13 000 0000 и зачем все это  это счастье пользователю.

Цитата:
Может можно запретить пользователю нажимать кнопку ОК (Поиск), пока пользователь не укажет хотя бы один параметр для where.

Мы так и сделали, после того как "некто" сформировал отчет на ~4000 страниц.
OFF Давно забросил EhLib, поэтому глупый  вопрос, а разве сейчас EhLib нельзя заставить не фетчить все данные на клиента?  

Всего записей: 426 | Зарегистр. 19-01-2005 | Отправлено: 16:18 16-12-2010
and23

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
2dimm78:
Нескромный вопрос: а какого рожна все записи сразу фетчатся? 8-O
По идее, грид должен вытягивать их пачками, не превышающими его буфер - а это даже не тысячи записей, максимум сотни.
Копайте код на предмет крамолы: опция fetchAll, прОпеть recordCount и т.п. Или SQL-монитор + дебаггер, чтобы поймать негодяя, кусающего шире горла.

Всего записей: 567 | Зарегистр. 10-09-2003 | Отправлено: 19:07 16-12-2010 | Исправлено: and23, 19:08 16-12-2010
dimm78

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
2dimm78:
Нескромный вопрос: а какого рожна все записи сразу фетчатся? 8-O
По идее, грид должен вытягивать их пачками, не превышающими его буфер - а это даже не тысячи записей, максимум сотни.
Копайте код на предмет крамолы: опция fetchAll, прОпеть recordCount и т.п. Или SQL-монитор + дебаггер, чтобы поймать негодяя, кусающего шире горла.

 
ну тогдa уж не 2dimm78 а 2delover)))

Всего записей: 163 | Зарегистр. 07-12-2005 | Отправлено: 21:56 16-12-2010
delover

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
and23
Просто сейчас вопрос о 2 не стоит. Надо подцепить ФБ клиента провайдера для Сишарп. Вроде всё по реадмишкам делал. Да и как бы опять же всё ручками приходится. Однако в вижуал студии 10 при введении первой буквы логина диалог коннекшен стринга сваливает и всё. Нет чтобы инсталлер простенький наваять. Незнаю чём дот нет от линукса тогда отличается. Может кто цеплял уже нативного клиента в вижуал?

Всего записей: 1395 | Зарегистр. 25-06-2007 | Отправлено: 14:32 17-12-2010
OXDBA

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
delover
Читал два раза, ничего не понял.

Всего записей: 426 | Зарегистр. 19-01-2005 | Отправлено: 14:58 17-12-2010
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » InterBase и FireBird: вопросы по работе и их решение


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru