rksoftware

Visual Studio とか C# とかが好きです

PostgreSQL を .NET Standard から扱う

PostgreSQL からデータを Select する .NET Standard 2.0 ライブラリを作ってみます。
作ったライブラリは mac 上の .NET Core コンソールアプリから呼び出して動作確認してみました。

■ 実行結果

コンソールアプリなので、ターミナルにデータが表示されるだけの寂しい実行結果です。
f:id:rksoftware:20181111175641j:plain

■ コード

まずはコードです。

using System;
using System.Data;

namespace pgNetStandard
{
    public class Class1
    {
        public void Test(){
            var dt = new DataTable();
            using (var pgConnection = new Npgsql.NpgsqlConnection(
                "Server=サーバーアドレス;Port=ポート;Database=データベース名;User Id=ユーザーID;Password=パスワード;"))
            using (var pgCommand = pgConnection.CreateCommand())
            {
                pgConnection.Open();
                pgCommand.CommandText = "SELECT * FROM スキーマ.\"サンプルテーブル名\"";
                dt.Load(pgCommand.ExecuteReader());
            }
            foreach(DataRow row in dt.Rows)
                Console.WriteLine($"{row[0]}, {row[1]}");
        }
    }
}

呼び出す .NET Core コンソールアプリ側です。

namespace pg
{
    class MainClass
    {
        public static void Main(string[] args)
        {
            new pgNetStandard.Class1().Test();
        }
    }
}

■ 参照アセンブリ

.NET Standard ライブラリプロジェクトには Npgsql.dll アセンブリを追加しています。
Npgsql は次のサイトからダウンロードできます。
http://pgfoundry.org/projects/npgsql

■ 環境の準備

順番が前後しますが以降が環境の準備手順です。

■ PostgreSQL のインストール

まずは、「日本PostgreSQLユーザ会」のサイト ( https://www.postgresql.jp/ ) からスタートです。

ようやくここでインストーラをダウンロードできます。
postgresql-11.1-1-osx.dmg がダウンロードされるのでダブルクリックします。
postgresql-11.1-1-osx.app が出て3来るのでダブルクリックします。
ウィザード形式のインストーラが起動するのでポチポチ設定して行きます。

  • 「Installation Directory」→デフォルト
  • 「Select Components」→デフォルト
  • 「Data Directory」→デフォルト
  • 「Password」→適当に入力
  • 「Port」→デフォルト
  • 「Advanced Options」「Local」→[Default locale]

■ 参照アセンブリのインストール

まずは、「日本PostgreSQLユーザ会」のサイト ( https://www.postgresql.jp/ ) からスタートです。

ようやくここでライブラリをダウンロードできます。
Npgsql-2.2.3-net45.zip がダウンロードされるので解凍します。中に Npgsql.dll があるのでこれを参照します。

他に Npgsql.EntityFramework.dll もあるので EntityFramework を使用するときに使えるのだろうと思います。

■ 管理ツールのインストール

まずは、「日本PostgreSQLユーザ会」のサイト ( https://www.postgresql.jp/ ) からスタートです。

ようやくここでインストーラをダウンロードできます。
pgadmin4-3.5.dmg がダウンロードされるのでダブルクリックします。
pgAdmin 4.app が出て3来るのでダブルクリックします。
ウィザード形式のインストーラが起動するのでポチポチ設定して行きます。

特別な設定するもののなく完了します。
インストール後自動で起動しますが、Launchpad に pgAdmin 4 が生まれるのでこれで起動できます。