PostgreSQL и Delphi

Для Delphi существует, реализованный с помощью технологии ODBC (COM), способ взаимодействия с базой данной. Для того, чтобы это работало, нужно скачать драйвер для ODBC специально для PostgreSQL (или написать самому, как Linus Torvalds). В общем, можно скачать здесь http://postgresql.ru.net/download.html.

ODBC драйверы

В качестве примера покажем, как можно реализовать через ADO. На форму поместим визуальный компонент ADOConnection:

Методы ADOConnection

Стоит сразу уточнить, что создавать компонент визуально не обязательно. Однако, в будущем придётся обязательно создать источник подключения, но мы забегаем вперёд.

Пример создания компонента динамически:

procedure TForm1.FormCreate(Sender: TObject);
//Объявим переменную типа коннектора от ADO
Var ADoC: TADOConnection;
begin
  //Создадим компонент при создании формы.
  ADoC := TADOConnection.Create(self);
end;

Итак. Компонент создан.

Если вы создали компонент в режиме реального времени  (Runtime), то теперь необходимо обратиться к некоторым его методам для их настройки. Так как эта статья описывает подключение к базе данных, то продемонстрируем метод ConnectionString.

Залезаем в ConnectionString и открываем окошко:

Строка соединения ADOConnection в Runtime

Выбираем "Build".

Выбор ODBC драйвера в свойстве канала передачи данных

В окне поставщиков данных выбираем Microsoft OLE DB Provider for ODBC Driver и нажимаем "Далее".

Создание DSN и файлового источника данных

 

Выбираем в окне "Сборка". А после создаём DSN. Впишем название (любое) и нажмём "Создать".

Выбор драйвера для PostgreSQL в Delphi

В открывшемся окне выберем PostgreSQL.

Создание файлового источника

Дальше создадим файловый источник, достаточно ввести его имя. После укажем все данные. Кстати, файловый источник можно выбрать. Для этого нажмите кнопку "Обзор" и найдите файл.

Настройка соединения Delphi с PostgreSQL завершена

У нас почти всё готово, поэтому жмём кнопку "Готово".

s7

Укажем все данные. Кстати, PostgreSQL умеет шифроваться.

Указание учётных данных для PostgreSQL  Delphi

В общем, введите пользователя и пароль. И всё!

Проверка соединения Delphi с PostgreSQL выполнена

Динамически можно подключаться, подменяя параметры в методе ConnectionString. Пароль, естественно, в открытом виде указывать не стоит. Пример:

procedure TForm1.FormCreate(Sender: TObject);
//Объявим переменную типа коннектора от ADO
Var ADoC: TADOConnection;
begin
 //Создадим компонент при создании формы.
 ADoC := TADOConnection.Create(self);
 ADoC.ConnectionString :=
'DRIVER={PostgreSQL ANSI};DATABASE=postgres;SERVER=localhost;' +
'PORT=5432;UID=postgres;PWD=1010;'+
'SSLmode=disable;ReadOnly=0;Protocol=7.4;FakeOidIndex=0;' +
'ShowOidColumn=0;RowVersioning=0;'+
'ShowSystemTables=0;ConnSettings=;Fetch=100;'+
'Socket=4096;UnknownSizes=0;MaxVarcharSize=255;'+
'MaxLongVarcharSize=8190;Debug=0;CommLog=0;'+
'Optimizer=0;Ksqo=1;UseDeclareFetch=0;TextAsLongVarchar=1;'+
'UnknownsAsLongVarchar=0;BoolsAsChar=1;Parse=0;CancelAsFreeStmt=0;'+
'ExtraSysTablePrefixes=dd_;;LFConversion=1;UpdatableCursors=1;'+
'DisallowPremature=0;TrueIsMinus1=0;BI=0;ByteaAsLongVarBinary=0;' +
'UseServerSidePrepare=1;LowerCaseIdentifier=0;GssAuthUseGSS=0;XaOpt=1';
 //Не будем лишний раз запрашивать учётные данные
 ADoC.LoginPrompt := false;
 //Соединимся с сервером
 ADoC.Connected := true;
end;

Ну вот, пожалуй, и всё...
Можно управлять данными в базе.

3 комментария на “PostgreSQL и Delphi

Добавить комментарий

Ваш e-mail не будет опубликован.