Delphi и локальная БД

  • Автор темы dreadangel
  • 4118
  • Обновлено
  • 04, May 2007
  • #1
кто может посоветовать что можно использовать в качестве локальной БД при разработке приложения в Delphi - XML-файлы или Access не предлагать короче в чем дело - хочу создать приложение с БД приложение маленькое и с одним пользователем - отсюда локальная БД так как прога будет пользоваться и на других машинах - простота deploy - не важно обединение данных - т.е. БД должна быть Embedded и ещё бы хотел что-б данные вне проги не были читаемы - поэтому не Access и XML - легко взломать ориентируюсь на Firebird - так как там можно писать UDF - люблю процедуры и функции кто-то может высказаться по этому поводу? может порекомендует что то ещё?

dreadangel


Рег
12 Jan, 2007

Тем
2

Постов
9

Баллов
29
  • 04, May 2007
  • #2
Firebird Firebird однозначно Читайте в теме по DBISAM.
http://firebirdsql.org/

Embedded версия - это то, что Вам нужно. Для доступа лучше всего FIBPlus. Можно попробовать бесплатный UIB
http://www.progdigy.com/modules.php?name=UIB

плюс к ним Алекс FBDataset. Но сам я эти компоненты не пробовал, говорю сразу. Пишу на FibPlus.
 

BigSerpent


Рег
07 Jun, 2004

Тем
0

Постов
6

Баллов
6
  • 04, May 2007
  • #3
BigSerpent, post: 649241:
Firebird однозначно



Читайте в теме по DBISAM.

http://firebirdsql.org/

Embedded версия - это то, что Вам нужно. Для доступа лучше всего FIBPlus. Можно попробовать бесплатный UIB

http://www.progdigy.com/modules.php?name=UIB

плюс к ним
Алекс FBDataset. Но сам я эти компоненты не пробовал, говорю сразу. Пишу на FibPlus.
а пример-другой ни у кого не найдется?
 

dreadangel


Рег
12 Jan, 2007

Тем
2

Постов
9

Баллов
29
  • 04, May 2007
  • #4
SQL... Ставь MSDE на тачку и фперёд! можешь попробовать BDE.. Это родной двиган для Дельфинария...
 

duke55


Рег
12 Dec, 2004

Тем
1

Постов
3

Баллов
13
  • 04, May 2007
  • #5
Не сочтите оффтопом, но что не устраивает в access (то есть движке Jet)? P.S. Раньше была тема про встроенные СУБД, может что полезное найдётся.
 

ploki


Рег
16 May, 2005

Тем
0

Постов
22

Баллов
22
  • 04, May 2007
  • #6
Firebird - полная (практически, 100% гарантию не дам) поддержка SQL-99. Кушает мало памяти. Не требует администрирования! Быстр. Очень быстро развивается - вот список новых встроенных функций, который появятся в следующей версии 2.1
http://firebird.cvs.sourceforge.net/firebird/firebird2/doc/sql.extensions/README.builtin_functions.txt?view=markup

Вот, кстати, ссылка на Alex dataset.
http://alexs75.narod.ru/fpc/fbdataset/

Пример - поищите в интернете, думаю, будут с исходниками. БДЕ по сравнению с Firebird+Fibplus - монстр. Причем если хотите нормальный SQL, то это BDE+Firebird. Плюс БДЕ больше не поддерживается и не развивается.
 

BigSerpent


Рег
07 Jun, 2004

Тем
0

Постов
6

Баллов
6
  • 08, May 2007
  • #7
почему не Access - глюков многовато FireBird - хорошая весчь но минус изза шифровки но это не беда может ктото что то посоветует? никто не пробовал SQLLite, есть у кого-то впечатления
 

dreadangel


Рег
12 Jan, 2007

Тем
2

Постов
9

Баллов
29
  • 08, May 2007
  • #8
to dreadangel Если не трудно, приведите какие-нибудь глюки Jet4.0. Буду признателен. Причём я серьёзно - по работе весьма пригодится. Мне очень нравится Absolute Database. Это уже обсуждали:
http://www.lumtu.com/forum/showthread.php?t=31546

. SQLLite пробовал. Вполне неплохая вещь (особенно бесплатностью) и быстро прогрессирует. Не зря её выбрали как базовую для библиотеки Python'а.
 

ploki


Рег
16 May, 2005

Тем
0

Постов
22

Баллов
22
  • 08, May 2007
  • #9
ploki, post: 649248:
to dreadangel
Если не трудно, приведите какие-нибудь глюки Jet4.0. Буду признателен.
Причём я серьёзно - по работе весьма пригодится.


глюки вот такие -

1. не всегда правильно работает SQL в TAdoQuery - в особенности при JOIN - не знаю как с TADOQuery но я в нем уверен на все 100% - работал MS SQL Server-oм и накаких проблем

2. lookup-ные поля - вот все изза них - не всегда правильно отображаются

3. несовместимость - при пользовании Access столкнулся с такими полями - TAutoIncField и TIntegerField они в lookup-ных наборах несовместимы или глючат страшно - попытка иэменить TAutoIncField в TIntegerField обречена на провал - несовместимость типов

хотя Access не безгрешно для маленьких приложений с БД - хорошее решение

авот вопрос тем кто работает с FireBird-ом - как там с безопастностью? есть какието примочки?

Добавка и ещё иногда требуются копирование данных на локальном через Tclientdataset - вот именно с ним и проблемы на уровне lookup-ных полей может кто-то чтото посоветует
 

dreadangel


Рег
12 Jan, 2007

Тем
2

Постов
9

Баллов
29
  • 09, May 2007
  • #10
to dreadangel Ну, поведение автоинкрементных полей - это скорее фича, чем бага, в MSDN описано и проблем не вызывало. А вот ошибки при Join - это очень интересно.

Если не затруднит, можно привести какой-нибудь модельный пример? Как воспроизвести на Jet 4.0 SP8? Унаследованных приложений много, ещё долго будет актуально, несмотря на MS SQL Express. P.S. Когда я разбирался с FireBird (1,5 года назад), с безопасностью было почти никак.

Но как сейчас - не знаю, может получше стало.
 

ploki


Рег
16 May, 2005

Тем
0

Постов
22

Баллов
22
  • 16, Mar 2015
  • #12
И что VirtualTable даст, все равно нужно будет после внесения изменений куда то выгружать данные а при старте приложения загружать, там нужна была локальная БД
 

sonic-xw


Рег
07 May, 2011

Тем
0

Постов
1

Баллов
1
  • 19, Mar 2015
  • #13
TinyDB (правда уже давно не обновляется, есть шифрование из коробки), FireBird, SQLite Все можно найти в яндексе
 

_Wolf_


Рег
20 Jan, 2015

Тем
0

Постов
2

Баллов
2
  • 20, Mar 2015
  • #14
В своем проекте использую SQLite.

В целом доволен.

Плюсы:

1. Простота использования.

2. Встроенная система.

3. Документация, поддержка, широкий набор компонентов, в т. ч. из коробки (FireDAC)

Минусы: Не замечено.

Подходит под небольшие проекты.

Сейчас смотрю, как SQLite будет работать с большими файлами, т. к. база разрослась до 1 Gb и это в общем-то не придел.
 

ziv_2010


Рег
19 May, 2010

Тем
1

Постов
7

Баллов
17
  • 07, Apr 2015
  • #15
Все зависит от поставленной задачи. SQLite - для простых задач. Там где нужны процедуры и функции - Firebird или Embeded Mysql
 

SMA1971


Рег
20 Oct, 2007

Тем
1

Постов
6

Баллов
16
Тем
49554
Комментарии
57426
Опыт
552966

Интересно