「Delphi + FireDAC」を使ってmacOSからPostgreSQL接続[JAPAN]

Posted by on in Programming

Delphi 10.2 TokyoでデバイスターゲットがmacOSの場合ビルド環境は32bitです
なので、PostgreSQL接続に関しては32bitのlibpq.dylibが必要です
現在macOS版のPostgreSQLは64bitのみですので、32bitのlibpq.dylibを利用するには、下記URLの手順が必要です。

http://ht-deko.com/delphiforum/?vasthtmlaction=viewtopic&t=2013
http://a23.sblo.jp/article/181133248.html?1506651043

TFDConnection設定

TFDConnection設定はWindows環境でPostgreSQL接続ができている環境のままでOKです

TFDPhysPgDriverLink設定

TFDPhysPgDriverLinkTFDConnection配置と同じ場所に配置し、
VendorLibをlibpq.dylibの置いている場所に指定します。

  FDPhysPgDriverLink1.VendorLib := '/パス/libpq.dylib';

PostgreSQL接続テスト

下のような画面デザインします。TButton でPostgreSQL接続とクエリー問い合わせするボタンを配置
TMemoを配置しクエリーで抽出したデータを出力します。

「Connection PostgreSQL」ボタンの実装

procedure Tfm_main.Button1Click(Sender: TObject);
begin
  FDConnection1.Connected := True;
  ShowMessage('FDConnection1.Connected := True;');
end;

「start Query」ボタンの実装

procedure Tfm_main.Button2Click(Sender: TObject);
var
  query: TFDQuery;
begin
  query := TFDQuery.Create(Self);
  try
    query.Connection  := FDConnection1;
    query.SQL.Text    := Edit1.Text;
    try
      query.Active  := True;
      while not query.Eof do
      begin
        Memo1.Lines.Append(query.Fields[0].AsString);
        query.Next;
      end;

    except
      on e1: Exception do
        ShowMessage(e1.Message);
    end;
  finally
    query.DisposeOf;
  end;
end;

実行

Delphi FireDACを使って macOSからPostgreSQL接続の確認ができました。
2017_09_29_09_48.gif

 

 



About
Gold User, No rank,
Delphi / C++Builder blogger

Comments

Check out more tips and tricks in this development video: