Lazarus Database Overview/ru

From Free Pascal wiki

English (en) español (es) français (fr) 日本語 (ja) русский (ru)

Databases portal

References:

Tutorials/practical articles:

Databases

Advantage - MySQL - MSSQL - Postgres - Interbase - Firebird - Oracle - ODBC - Paradox - SQLite - dBASE - MS Access - Zeos

Обзор

Эта статья представляет собой обзор баз данных, которые могут работать с Lazarus.

Lazarus поддерживает несколько баз данных "из коробки" (используя, например, фреймворк SQLDB), однако разработчик должен установить необходимые пакеты (клиентские библиотеки) для каждой из них дополнительно.

Вы можете получить доступ к базе данных посредством кода или путем добавления компонентов на форму. Data-aware компоненты предоставляют поля и подсоединяются путем установки свойства DataSource (Источник данных) для указания на TDataSource. Datasource представляет собой таблицу и подключается к компонентам базы данных (примеры: TPSQLDatabase, TSQLiteDataSet) путем установки свойства DataSet. Компоненты, учитывающие данные, расположены на вкладке Data Controls. Источник данных и элементы управления базой данных расположены на вкладке Data Access.

См. руководства встроенных в Lazarus/FPC компонентов доступа к базам данных, подходящих для Firebird, MySQL, SQLite, PostgreSQL и т.д.:

Lazarus и Interbase / Firebird

  • Firebird очень хорошо поддерживается "из коробки" FPC/Lazarus (с использованием SQLDB); пожалуйста, смотрите Firebird для получения подробностей.
  • Другие библиотеки Firebird имеют список альтернативных библиотек доступа (например, PDO, Zeos, FBlib)

Lazarus и MySQL

  • Пожалуйста, см. раздел mysql для получения подробностей по деталям различных методов доступа, которые включают:
  1. Встроенную поддержку SQLdb
  2. PDO
  3. Zeos
  4. MySQL data access Lazarus components

Lazarus и MSSQL/Sybase

Вы можете подключиться к базам данных Microsoft SQL Server, используя

  1. SQL Server data access Lazarus components. Они работают на Windows и macOS. Бесплатны для загрузки.
  2. Встроенные SQLdb компоненты подключения к БД TMSSQLConnection и TSybaseConnection (начиная с Lazarus 1.0.8/FPC 2.6.2): см. Mssqlconn.
  3. Zeos компонент TZConnection (последний CVS, см. ссылки на Zeos в других местах на этой странице)
    1. На Windows вы можете выбрать между собственной библиотекой ntwdblib.dll (протокол mssql) или библиотеками FreeTDS (протокол FreeTDS_MsSQL-nnnn), где nnnn - один из четырех вариантов в зависимости от версии сервера. Для Delphi (не для Lazarus) существует также другой протокол Zeos ado для MSSQL 2005 или более поздней версии. При использовании протоколов mssql или ado генерируется платформонезависимый код.
    2. На Linux единственный способ - использовать протоколы и библиотеки FreeTDS (вы должны использовать libsybdb.so).
  4. ODBC (MSSQL и Sybase ASE) со SQLdb TODBCConnection (рассмотрите использование TMSSQLConnection и TSybaseConnection в качестве альтернативы)
    1. См. также Connecting to Microsoft SQL Server
    2. На Windows он использует собственные библиотеки ODBC Microsoft (например, sqlsrv32.dll для MSSQL 2000)
    3. На Linux он использует unixODBC + FreeTDS (пакеты unixodbc или iodbc, и tdsodbc). С 2012 года существует также драйвер ODBC для Microsoft SQL Server 1.0 для Linux, который является бинарным продуктом (без открытого исходного кода) и обеспечивает собственное подключение, но выпущен только для х64 и только для RedHat.

Lazarus и ODBC

ODBC - это общий стандарт подключения к базе данных, который доступен в Linux, Windows и OSX. Вам потребуется драйвер ODBC от поставщика базы данных и надстройка ODBC "data source" (также известный как DSN). Вы можете использовать компоненты SQLDB (TODBCConnection) для подключения к источнику данных ODBC. Смотрите ODBCConn для получения более подробной информации и примеров.

Microsoft Access

Вы можете использовать драйвер ODBC в Windows и Linux для доступа к базам данных Access; см. MS Access

Lazarus и Oracle

  • См. Oracle. Методы доступа включают в себя:
  1. Встроенную поддержку SQLDB
  2. Zeos
  3. Oracle data access Lazarus component

Прим.перев.: девартовский сайт почему-то внесен список спам-фильтра. Поэтому в выше приведенной ссылке удалите знак подчеркивания из dev_art, чтобы перейти на оф.сайт ODAC

Lazarus и PostgreSQL

  • PostgreSQL очень хорошо поддерживается FPC/Lazarus "из коробки"
  • Пожалуйста, см. postgres для получения деталей о различных методах доступа, которые включают:
  1. Встроенная поддержка SQLdb. Используйте компонент TPQConnection со вкладки SQLdb из палитры компонент
  2. Zeos. Используйте компонент TZConnection с протоколом 'postgresql' из палитры Zeos Access
  3. PostgreSQL data access Lazarus component

Прим.перев.: девартовский сайт почему-то внесен список спам-фильтра. Поэтому в выше приведенной ссылке удалите знак подчеркивания из dev_art, чтобы перейти на оф.сайт ODAC

Lazarus и SQLite

SQLite - это встроенная база данных; код базы данных может распространяться как библиотека (.dll/.so/.dylib) вместе с вашим приложением, чтобы сделать его автономным (сравнимым со встроенным Firebird). SQLite довольно популярен благодаря своей относительной простоте, скорости, небольшому размеру и кроссплатформенной поддержке.

Пожалуйста, см. страницу SQLite для получения подробной информации о различных методах доступа, которые включают:

  1. Встроенную поддержку SQLDb. Используйте компонент TSQLite3Connection из палитры SQLdb
  2. Zeos
  3. SQLitePass
  4. TSQLite3Dataset
  5. SQLite data access Lazarus components

Прим.перев.: девартовский сайт почему-то внесен список спам-фильтра. Поэтому в выше приведенной ссылке удалите знак подчеркивания из dev_art, чтобы перейти на оф.сайт ODAC

Lazarus и Firebird/Interbase

Компоненты доступа к данным InterBase (и FireBird) (IBDAC) - это библиотека компонентов, которая обеспечивает нативное подключение к InterBase, Firebird и Yaffil из Lazarus (и Free Pascal) на Windows, macOS, iOS, Android, Linux и FreeBSD для 32-битных и 64-битных платформ. Приложения на основе IBDAC подключаются к серверу напрямую, используя клиента InterBase. IBDAC призван помочь программистам разрабатывать более быстрые и чистые приложения для баз данных InterBase.


IBDAC является полной заменой стандартных решений InterBase для подключения. Он представляет собой эффективную альтернативу InterBase Express Components, Borland Database Engine (BDE) и стандартному драйверу dbExpress для доступа к InterBase.

Firebird data access components for Lazarus бесплатны для загрузки


Прим.перев.: девартовский сайт почему-то внесен список спам-фильтра. Поэтому в выше приведенной ссылке удалите знак подчеркивания из dev_art, чтобы перейти на оф.сайт ODAC

Lazarus и dBase

FPC включает в себя простой компонент базы данных, производный от компонента Delphi TTable, который называется «TDbf» TDbf Website). Он поддерживает различные форматы DBase и Foxpro.

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

Это не требует какого-либо вида движка базы данных во время выполнения. Однако это не лучший вариант для больших приложений баз данных.

См. страницу TDbf Tutorial как для учебника, так и для документации.

Вы можете использовать, например, OpenOffice/LibreOffice Base для визуального создания/редактирования dbf-файлов или создания DBF-файлов в коде с использованием TDbf.

Lazarus и Paradox

Paradox был форматом по умолчанию для файлов базы данных в старых версиях Delphi. Концепция аналогична файлам DBase/DBF, где «база данных» - это папка, а каждая таблица - это файл внутри этой папки. Кроме того, каждый индекс тоже является файлом. Для доступа к этим файлам из Lazarus у нас есть следующие опции:

  • TParadox: Установите пакет "lazparadox 0.0", входящий в стандартную поставку. Когда вы установите этот пакет, вы увидите новый компонент с надписью "PDX" в палитре "Data Access". Этот компонент не является автономным, он использует «родную» библиотеку, а именно pdxlib library, которая доступна для Linux и Windows. Например, для установки в Debian вы можете получить pxlib1 из менеджера пакетов. В Windows вам нужен файл pxlib.dll.
  • TPdx: Paradox DataSet для Lazarus и Delphi с этого сайта. Этот компонент является автономным (чистый объектный паскаль), не требует никакой внешней библиотеки, но может только читать (не записывать) файлы Paradox. Пакет для установки - "paradoxlaz.lpk", и компонент должен появиться в палитре "Data Access" с меткой PDX (но оранжевого цвета).
  • TParadoxDataSet: является TDataSet, который может только читать файлы Paradox до версии 7. Подход аналогичен компоненту TPdx, пакет для установки - "lazparadox.lpk", и компонент также должен отображаться в палитре "Data Access".

TSdfDataset и TFixedDataset

TSdfDataSet и TFixedFormatDataSet - это два простых наследника TDataSet, которые предлагают очень простой текстовый формат хранения. Эти наборы данных очень удобны для небольших баз данных, поскольку они полностью реализованы как модуль Object Pascal и, следовательно, не требуют внешних библиотек. Кроме того, их текстовый формат позволяет их легко просматриваться/редактироваться с помощью текстового редактора.

См. CSV для примера кода.

Lazarus и Advantage Database Server

  • Пожалуйста, см. Advantage Database Server для получения подробностей по использованию Advantage Database Server

См. также

(Отсортировано по алфавиту)

Внешние ссылки

  • Pascal Data Objects - API базы данных, который работал как для FPC, так и для Delphi, и использует собственные библиотеки MySQL для версий 4.1 и 5.0 и Firebird SQL 1.5 и 2.0. Навеяно PHP-классом PDO.
  • Zeos+SQLite Tutorial - хороший учебник, использующий скриншоты и скринкасты, он объясняет, как использовать SQLite и Zeos, по-испански (Google Translate хорошо справляется с переводом на английский)