Что такое лучшая база данных для настольных приложений Delphi, поддерживающих хранимые процедуры? - PullRequest
5 голосов
/ 25 октября 2009

Я начал с Turbo Pascal 3, перешел на TP5, купил на следующий день TP6 под названием Borland и понизил до TP5.5. Купили Delphi 3, а теперь уже Delphi 5 Enterprise. Я вроде как потерял интерес к написанию кода около 4-5 лет назад по двум причинам:

  1. Потратил целый день на написание ASP & SQL для кого-то еще.
  2. Журнал PC Techniques ушел.

У меня есть несколько программ на рынке условно-бесплатных программ, которые хорошо работают, но нуждаются в серьезном обновлении. Я люблю Delphi или любил его, когда это был Borland (до того, как Borland купил DBase и все остальное дерьмо), я хотел бы спасти как можно больше моего кода D5E, но сомневаюсь, что смогу. Я планирую перейти на Delphi 2010.

Мой следующий выпуск программного обеспечения должен взаимодействовать с базой данных. Я очень хорошо разбираюсь в MS Sql и хотел бы поместить весь код базы данных в хранимые процедуры.

Какая база данных лучше всего подходит для взаимодействия с Delphi, допускает хранимые процедуры и настолько проста в развертывании, что даже Geico Gecko может ее развернуть?

10/25/2009 18:53 EST
Повторно открыт после прочтения установочных документов для Delphi 2010


Я скачал пробную версию Delphi 2010 и разархивировал установку. Я читал документы по установке, включенные в пакет. Я начал с install.htm внутри пакета zip.

install.htm мудро советует вам посмотреть следующие две статьи:

  1. Замечания по установке: http://edn.embarcadero.com/article/39754
  2. Примечания к выпуску: http://edn.embarcadero.com/article/39758

В примечаниях к выпуску указано следующее ...

Драйвер MSSQL требует установки собственного клиента SQL. Собственный клиент SQL 2008 требуется для dbxmss.dll. Собственный клиент SQL 2005 требуется для dbxmss9.dll

Я проверил свою машину, чтобы увидеть, установлен ли SQL Native Client. Нету. Я не закончил читать документы, поэтому сделал заметку для установки собственного клиента SQL.

Я погуглил dbxmss.dll и dbxmss9.dll и нашел очень интересную ветку на форумах Embarcadero. читать ветку здесь .

Прочитав эту ветку и немного подумав, я не думаю, что буду использовать Microsoft SQL Express. Я не могу полагаться на то, что у моих клиентов установлены правильные драйверы. Итак, я вернулся к поиску другого решения.

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

Ответы [ 7 ]

13 голосов
/ 25 октября 2009

Как насчет Firebird ? Может использоваться как встроенная база данных (развертывание xcopy).

Другие опции включают DBISAM и ElevateDB .

3 голосов
/ 26 октября 2009

Просто недавний пост о Какие базы данных вы используете в своих программах Delphi?

Жар-птица - победитель

3 голосов
/ 25 октября 2009

Если вы уже хорошо знакомы с MS SQL, просто используйте экспресс-выпуск MS SQL Server 2008. Мы использовали выпуск 2005 года для нескольких коммерческих проектов и уже начали использовать 2008 год. Это очень, очень хорошо; очень хорошо поддерживается, и есть тонны помощи, документации и образцов там. Здесь много полезного опыта работы с SQL Server по переполнению стека!

Другим хорошо поддерживаемым подходом, как говорили другие, будет Firebird / Interbase. Язык sproc очень мощный, и, в частности, мне нравится, как вы можете использовать команду «suspend» в sproc для возврата текущего состояния воспроизведения вызывающей стороне в виде строки в наборе записей результатов, а затем, когда вызывающая сторона запрашивает следующая запись, ваш sproc возобновляется. Это оказалось невероятно полезным инструментом для отладки сложных sprocs в прошлом. : -)

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

3 голосов
/ 25 октября 2009

Я работаю с Firebird уже несколько лет, после 10 лет работы в паре компаний, которые использовали VB6 и MSSQL. Переход с MSSQL на Firebird был почти таким же простым, как переход с VB6 на Delphi. Я использую персональную версию IBExpert для администрирования баз данных и должен сказать, что никогда не видел ничего, что могло бы удержать свечу IBExpert в мире SQL Server.

Кроме того, несколько раз мне удавалось решать проблемы с использованием пользовательских функций, написанных на Delphi, которые были бы медленными, уродливыми и неловкими в SQL.

Хранимые процедуры могут быть довольно мощными в Firebird PSQL. Я думаю, что курсоры гораздо более естественны в Firebird PSQL, чем в MS SQL.

Я использую DBExpress для взаимодействия с базой данных. Это быстро, легко и просто, как Delphi, как Firebird. Если ваша программа будет включать в себя отчеты, проверьте FastReports. Для моих целей он обладает большей мощностью и намного быстрее, чем Crystal, и не требует отдельной установки для ваших пользователей.

Я не знаю о пещерных людях Geico, но я уверен, что Геккон мог это сделать.

2 голосов
/ 26 октября 2009

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

2 голосов
/ 25 октября 2009

Firebird = Лучшая база данных для приложения для малого бизнеса.

0 голосов
/ 25 октября 2009

Как насчет MySql ?

Он активно развивается и имеет большую базу пользователей

...