Подключение к базе данных Delphi - PullRequest
7 голосов
/ 18 февраля 2010

Я использую Delphi в течение многих лет, но никогда не для базы данных, но недавно начал исследования и тестирование.

Должен сказать, я впечатлен, большинство вещей происходит автоматически, я привык писать вручную на php и python.

Я собираюсь разработать коммерческую систему для друга, (2 уровня) 5 пользовательских компьютеров, 1 сервер базы данных.

Сервер базы данных будет достойной машиной с работающими жесткими дисками (raid-1) 2 (MySql5.1 или Postgre или Firebird, открытые для предложений).

1010 * АДО *

  • Простота в использовании
  • Простое развертывание (только установщик mysqlconnector)
  • Чем медленнее?

DBEXPRESS

  • Необходимо отправить 4 файла [dbxconnections.ini, dbxdrivers.ini, mysqldll, driverdll]
  • Чем сложнее (сложнее в использовании)
  • ClientDataSet добавляет сложности, но выглядит действительно полезным
  • Нет бесплатного драйвера Postgre?

Zeos

  • Простота развертывания (1 dll)
  • Простота в использовании

Как видите, нужные функции:

  • быстро
  • простой в использовании
  • простота развертывания

Я не могу протестировать все в реальном сценарии (клиенты, сервер), поэтому я надеюсь, что вы, ребята с опытом, сможете мне помочь, какой выбрать и почему.

РЕДАКТИРОВАТЬ: Спасибо всем, я думаю, что я пойду с ADO (вероятно) или Zeos

Заранее спасибо
Артур

Ответы [ 8 ]

5 голосов
/ 18 февраля 2010

@ arthurprs, для вас сценарий

(2 слоя) 5 пользовательских компьютеров, 1> сервер базы данных.

альтернативный текст http://www.techsolusa.com/images/firebird-logo-64.gif СУБД Firebird - это очень хороший вариант, потому что он очень стабилен, быстр, работает на Linux, Windows и различных платформах Unix и отвечает вашим требованиям .

альтернативный текст http://d.yimg.com/kq/groups/12858579/homepage/name/homepage.jpg Уважение к компонентам для подключения я иду для ZEOS .

Я использовал эту комбинацию во многих малых и средних проектах, с отличными результатами.

4 голосов
/ 18 февраля 2010

Я работал на многих коммерческих системах большого объема, используя ADO без каких-либо проблем. Развертывание относительно простое, поскольку оно включено в ОС. Поскольку у него такая широкая аудитория, большинство основных проблем были определены и исправлены. Получить помощь по подключению ADO очень легко. Поддержка базы данных очень глубока ( connectionstrings.com ), что делает поддержку дополнительных механизмов баз данных почти тривиальной (вам, возможно, потребуется установить клиентские драйверы, но это будет то же самое почти для любого решения).

Производительность не является большой проблемой, она действительно сводится к архитектуре базы данных и выбору движка.

2 голосов
/ 18 февраля 2010

ID должен сказать, что я довольно доволен NexusDB , но стоимость версий клиент / сервер может не стоить этого.

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

  • встроенная БД свободна,
  • клиент / сервер "Стоимость на одного разработчика" составляет AU $ 500
  • Без платы за установку.

О да, и это написано на Delphi;)

1 голос
/ 18 февраля 2010

Несмотря на то, что я читал людей, которым не нравится идея смешивания этих двух, у меня были хорошие результаты, используя наборы данных ADO в качестве «уровня провайдера», который затем передает данные в TClientDataSets - поэтому нет причин, по которым вы не можете использовать ClientDataSets Вы идете по маршруту ADO, если считаете, что они вам нужны (и они полезны).

В противном случае я бы повторил комментарий о том, что ADO - проверенный, надежный механизм, который никуда не денется. Я всегда находил это более чем достаточно быстро. А настройка с использованием файлов UDL - это легко и просто.

1 голос
/ 18 февраля 2010

Я бы сказал, что стоит использовать Firebird - наиболее часто используемый движок баз данных в стране Delphi (см. здесь ).Для подключения, возможно, лучше использовать Zeos (бесплатно) или DBX (если вы можете позволить себе версию Architect - единственную, в которой есть драйвер Firebird).

Об ADO: зрелый уровень подключения, но он будет (навсегда - скорее всего) привязан к Windows, а Delphi станет кроссплатформенным.Кроме того, да, он, как правило, медленнее по многим причинам, включая драйверы ODBC, которые используются в определенных ситуациях.Но в вашем случае, конечно, как говорит Скамрадт, я не думаю , что это будет так важно.

0 голосов
/ 25 февраля 2010

- Компоненты доступа к данным

Я тоже за комбинацию TClientDataset и ADO. Я работал с этим в прошлом, и я могу сказать, что это доверчиво. Гибкость TClientDataset - большой выигрыш. DBExpress тоже хорош. На самом деле, я использую клиентские наборы данных практически с любым уровнем доступа к данным, у которого есть потомок TDataset ...

- Сервер

Firebird. Бесплатный и простой в использовании из OLEDB (я использовал с ODBC) и DBExpress (у D2010 + есть собственный драйвер DBX) - не знаю ZEOS, но я считаю, что он также подключается к FB. Хорошо масштабируется для многих соединений и больших баз данных. В Firebird есть базы данных на 500 Гб, о которых сообщили многие пользователи.

0 голосов
/ 25 февраля 2010

Мы использовали postgreSQL с использованием pg-компонентов Devart с большим успехом в приложениях баз данных среднего размера. Мы провели несколько сравнительных тестов с этой комбинацией и обнаружили, что она в 2-3 раза быстрее использования ADO и т.д.

0 голосов
/ 18 февраля 2010
  • dbGo (ADO) проще в управлении, универсальнее, медленнее
  • dbExpress быстрее, сложнее в управлении, поддерживает меньше СУБД
  • ZeosDBO прост в управлении, универсален, как dbExp, медленен, как dbGo, кроссплатформенный, имеет несколько дополнительных компонентов, все источники доступны

Существует немного других библиотек, которые разрешают все вышеперечисленные сомнения, хотя все они являются коммерческими продуктами. Но там я пристрастен:)

...