С Новым годом! Форум программистов, компьютерный форум, киберфорум
C++ Builder: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.56/16: Рейтинг темы: голосов - 16, средняя оценка - 4.56
0 / 0 / 0
Регистрация: 27.08.2008
Сообщений: 11

Нужна помощь по firebird-у!

21.09.2009, 13:06. Показов 3326. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем добрый день. После использования десктопного BDE (foxpro), решил перейти на firebird. Точнее, вынудила поставленная задача. Расскажу в двух словах, что было ясно о чем речь. Например, есть таблица заказов на сервере и есть клиентское приложение. Скажем, приложение запускается на двух удаленных компьютерах и обращается к одной и той же таблице. Теперь допустим пользователь с двух компьютеров пытаются редактировать один и тот же заказ (строку). В результате должно получится так, что право на запись доступно первому пользователю, а остальным только чтение. То есть строка блокируется на запись. Одним словом нужен механизм работы с БД в онлайн режиме и при этом не допускать противоречий клиентов. Скажем в BDE при таком раскладе, вообще доступ к таблице блокировался.

Меня интересует какую лучше связку использовать в CBuilder6, что бы организовать вышеописанный многопользовательский режим (блокировка и работа не на уровне всей таблицы, а на уровне записи). Скажем, механизм dbExpress предоставляет высокую скорость работы с таблицей, но учитывает только последнее обновление на уровне всей таблицы, а также использует однонаправленные наборы данных, которые хранятся в памяти компьютера и подключаются к серверу по необходимости. И большой минус, что этот механизм не поддерживает работу с индексами таблиц.

Возможно, кто сталкивался, подскажет статьями, советами, примерами. Среда разработки CBuilder6. С сетевыми БД работаю впервые.

И вот основные вопросы:
1. Какой механизм доступа к бд firebird в билдере лучше использовать, для вышеописанной задачи (dbExpress, стандарные компонеты для работы с Interbase)?
2. Нужна ли для этого 3-х уровневая архитектура (БД - сервер - приложение, свой шифрованный протокол) или за все отвечает СУБД?
3. Как правильно организовать в билдере работу с сетевой БД firebird.

Заранее благодарен.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
21.09.2009, 13:06
Ответы с готовыми решениями:

СРОЧНО НУЖНА ПОМОЩЬ! Нужна информация о тест оборудовании
Доброго времени суток! Интересует информация (книги, статьи, научные статьи, сайты, зарубежная приветствуется) о проектировании...

База данных в Firebird, интерфейс в Delphi.Нужна консультация.
Привет всем! Кто работал с Базой данных в Firebird и подключал ее к Делфи?Проконсультируйте. Есть проект.База ...

Нужна помощь
Привет всем) Мне нужна ваша помощь. Я в 1с туго соображаю! да ладно! Совсем никак!) тут такая проблема Закрытие месяца. Когда проводишь...

7
125 / 116 / 17
Регистрация: 27.02.2007
Сообщений: 291
21.09.2009, 13:24
Цитата Сообщение от Nick Посмотреть сообщение
1. Какой механизм доступа к бд firebird в билдере лучше использовать, для вышеописанной задачи (dbExpress, стандарные компонеты для работы с Interbase)?
2. Нужна ли для этого 3-х уровневая архитектура (БД - сервер - приложение, свой шифрованный протокол) или за все отвечает СУБД?
3. Как правильно организовать в билдере работу с сетевой БД firebird.
У меня было одновременно 4-е клиента на одну базу.
1. Я использлвал компоненты из закладки "InterBase"
2. Спокойно обошелся "толстым клиентом". Разрешение конфликтов одновременного редактирования отдал на откуп серверу БД.
3. Ничего специально не надо делать. Все решается на уровне настройки TIBDatabase
0
Почетный модератор
 Аватар для Lord_Voodoo
8785 / 2538 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
21.09.2009, 13:28
1) если пользователей немного и база маленькая, то лучше использовать мускул или вообще аксесс...
2) это уже на ваше усмотрение...
3) ответ на этот вопрос можно дать после приятия решения по второму вопросу...
0
0 / 0 / 0
Регистрация: 27.08.2008
Сообщений: 11
21.09.2009, 14:21  [ТС]
если пользователей немного и база маленькая, то лучше использовать мускул или вообще аксесс...
Прошу прощения, я забыл сделать акцент на то, что база данных не маленькая! Возможно более 50 тысяч записей.

ответ на этот вопрос можно дать после приятия решения по второму вопросу
Склоняюсь к тому что, 3х уровневая архитекрута не нужна, хватит сервера БД и клиента. И также использовать механизм dbExpress, но говорят есть траблы при работе с индексами. А без них, при работе с большой базой сами понимаете)) Сейчас решил все же это проверить самостоятельно.

2. Спокойно обошелся "толстым клиентом". Разрешение конфликтов одновременного редактирования отдал на откуп серверу БД.
И никаких проблем не было!? А перед вводом продукта в эксплуатацию не тестировали на одновременный доступ!? Я уже пробовал использовать эти компоненты и тестировал. Так и не понял механизм разрешения конфликтов сервера. Спокойно редактировал одну и ту же запись. Принцип - кто первый сохранил тот и выиграл)

Спасибо за ответы!
0
Почетный модератор
 Аватар для Lord_Voodoo
8785 / 2538 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
21.09.2009, 14:38
Nick, 50000 записей - это база маленькая... и вообще лучще стараться юзать не универсальные компоненты доступа, а заточенные под конкретную базу, такое мое ИМХО
0
125 / 116 / 17
Регистрация: 27.02.2007
Сообщений: 291
21.09.2009, 15:06
Цитата Сообщение от Nick Посмотреть сообщение
А перед вводом продукта в эксплуатацию не тестировали на одновременный доступ!?
Повторюсь: одновременно 4-е клиента; опыт эксплуатации - 3 года. Фатальных конфликтов не замечено
0
0 / 0 / 0
Регистрация: 09.03.2008
Сообщений: 14
21.09.2009, 23:33
Цитата Сообщение от Nick Посмотреть сообщение
1. Какой механизм доступа к бд firebird в билдере лучше использовать, для вышеописанной задачи (dbExpress, стандарные компонеты для работы с Interbase)?
2. Нужна ли для этого 3-х уровневая архитектура (БД - сервер - приложение, свой шифрованный протокол) или за все отвечает СУБД?
1. Могу посоветовать компонент ZEOS DBO. И в properties указать Transact Isolation (доступны все методы изоляции транзакций - ReadCommitted, ReadUncommitted, RepeatableRead и Serializable (только вот с firebird не знаком - не в курсе, поддерживает ли она)). В зависимости от того, каким методом использовать транзакции, часть Вашей проблемы будет исчерпана.
2. Это уже как Вам захочется.
0
 Аватар для FreeWay
84 / 84 / 19
Регистрация: 17.12.2007
Сообщений: 574
23.09.2009, 10:12
всем привет!!!!
Тоже интересует создание клиент-серверного приложения
вот думаю какую бд выбрать mysql или fireberd
задача не конкретная, а так, для того чтобы уметь, интересует какую из вышеупомянутых бд можно ставить на сервер без инсталяции, недавно показывали проект на шарпе, там просто запускается сервер (тоже написанный на шарпе), который слушает порт и лежит на сервере base.FDB, клиенты без проблемм конектятся к базе.
Можно ли сделать такое (не инсталировать сервер бд) в билдере, с бд mysql или fireberd ???
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
23.09.2009, 10:12
Помогаю со студенческими работами здесь

Нужна помощь?
Народ привет! Подскажите как сделать следующее: У меня есть кнопочки на сайте, я хочу, чтобы при наведении на кнопку мышкой, ее цвет...

Нужна помощь
Как можно вставить в ASP-файл указание на то, что какие-то данные надо брать из XML файла, например запрос к базе данных

Нужна помощь
Всем доброго времени суток. Вчера по неосторожности поймал какого то зверя. Изначально в браузере (опера) была заблокирована домашняя...

Нужна помощь!
Трудимся над созданием гео-информационного картографического портала, срочно нужны советы и отзывы, чего не хватает? если есть советы по...

Нужна помощь
Столкнулся с такой проблемой: яндекс индексирует новости но вместо названия новости пишет название сайт и так у всех новостей: ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru