Я был очень удивлен, когда на Хабре не нашел ни одного упоминания об этом, на мой взгляд лучшем, наборе компонентов для работы с базами данных в средах Delphi / C++ Builder / Lazarus. Многие разработчики, работающие на Visual Studio считают, что Delphi уже почти загнулся, что это полумертвый язык, но это не так. Огромное число разработчиков, особенно на постсоветском пространстве, продолжают работать в этой среде, которая постоянно развивается. На Delphi написаны такие известные программы как Total Commander, AIMP, QIP, The Bat! и даже Skype! Последняя версия среды разработки Embarcadero RAD Studio XE5 поддерживает кроссплатформенную компиляцию одного и того же проекта под Windows (x32/x64), Android, iOS и Mac OS X. Среда Delphi всегда была очень удобной для разработки программ имеющих оконный интерфейс. По удобству разработки визуального интерфейса среде Delphi/C++ Builder и по сей день нет равных. Многие вещи гораздо удобнее и быстрее реализуются в Delphi, чем в Visual Studio. Удобная работа с базами данных также является классическим достоинством Delphi/C++ Builder, а с помощью компонентов UniDAC (Universal Data Access Component от Украинской компании DevArt) работа с базами данных становится просто идеальной!
Ранее компания разрабатывала интерфейсы доступа к разным базам данных по отдельности, но как только был накоплен большой набор компонентов, то все они были унифицированы в единый набор UniDAC. На текущий момент времени поддерживаются следующие серверы баз данных: Oracle, MS SQL, MySQL, InterBase, Firebird, PostgreSQL, SQLite, DB2, MS Access, NexusDB, Sybase ASE, Sybase ADS и другие через интерфейс ODBC.
Работа с любым сервером осуществляется через один и тот же набор компонентов, можно мгновенно перевести проект с одной СУБД на другую. У меня был такой опыт, нужно было перейти с Firebird на PostgreSQL, что было выполнено моментально. Единственное, что следует учитывать при подобном переходе - есть ли в проекте какие-то нестандартные SQL запросы, свойственные одной СУБД, но не свойственные другой, а относительно самих компонентов никаких проблем нет. Кроме этого, большим плюсом использования данных компонентов является доступ к нескольким СУБД в рамках одного проекта. Так, например, программа может работать с удаленным сервером данных и писать локальные данные в файлы SQLite или Access, т.е. у Вас все имеется под рукой и не нужно искать какие-то другие решения для других СУБД. Кроме этого, UniDAC это единственные компоненты на рынке, которые имеют возможность работы с СУБД Oracle, MySQL, PostgreSQL, SQLite и NexusDB без использования каких-либо сторонних библиотек для доступа к базам данных. Такие библиотеки обычно имеют формат DLL и их нужно таскать с исполняемым файлом, но с UniDAC об этом можно не беспокоиться. Поскольку новая среда разработки Embarcadero RAD Studio XE5 поддерживает работу с разными платформами, соответственно и компоненты UniDAC могут также использоваться для разработки под Android, iOS и Mac OS X. Кроме этого, есть версия UniDAC для среды Lazarus, что значит, что они могут использоваться для разработки под Linux и FreeBSD. Компоненты UniDAC гораздо более просты в использовании, чем стандартные FireDAC (бывший AnyDAC). Я чрезвычайно доволен работой с UniDAC, поэтому могу их рекомендовать каждому, кто уже работает или собирается работать с базами данных в среде Delphi/C++ Builder.