PostgreSQL からデータを Select する .NET Standard 2.0 ライブラリを作ってみます。
作ったライブラリは mac 上の .NET Core コンソールアプリから呼び出して動作確認してみました。
■ 実行結果
コンソールアプリなので、ターミナルにデータが表示されるだけの寂しい実行結果です。
■ コード
まずはコードです。
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/ ) からスタートです。
- 「ダウンロード」( https://www.postgresql.jp/download )
- 「MacOSX」( http://www.postgresql.org/download/macosx/ )
- 「Interactive installer by EnterpriseDB」「Download the installer」( https://www.enterprisedb.com/downloads/postgres-postgresql-downloads )
- 「PostgreSQL Download」「Mac OS X」「PostgreSQL Version 11.1」( https://www.enterprisedb.com/thank-you-downloading-postgresql?anid=1256151 )
ようやくここでインストーラをダウンロードできます。
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/ ) からスタートです。
- 「その他各種のダウンロード」( https://www.postgresql.org/download/ )
- 「Software Catalogue」( https://www.postgresql.org/download/product-categories/ )
- 「Drivers and interfaces」( https://www.postgresql.org/download/products/2-drivers-and-interfaces/ )
- 「Npgsql」( http://pgfoundry.org/projects/npgsql )
- 「Npgsql 2.2.3」( http://pgfoundry.org/frs/?group_id=1000140&release_id=2106#_npgsql2-npgsql-2.2.3-title-content )
ようやくここでライブラリをダウンロードできます。
Npgsql-2.2.3-net45.zip がダウンロードされるので解凍します。中に Npgsql.dll があるのでこれを参照します。
他に Npgsql.EntityFramework.dll もあるので EntityFramework を使用するときに使えるのだろうと思います。
■ 管理ツールのインストール
まずは、「日本PostgreSQLユーザ会」のサイト ( https://www.postgresql.jp/ ) からスタートです。
- 「その他各種のダウンロード」( https://www.postgresql.org/download/ )
- 「Software Catalogue」( https://www.postgresql.org/download/product-categories/ )
- 「Administration/development tools」( https://www.postgresql.org/download/products/1-administrationdevelopment-tools/ )
- 「pgAdmin」( https://www.pgadmin.org/ )
- 「Download」( https://www.pgadmin.org/download/ )
- 「pgAdmin 4」「macOS」( https://www.pgadmin.org/download/pgadmin-4-macos/ )
- 「pgAdmin 4 (macOS)」( https://www.pgadmin.org/download/pgadmin-4-macos/ )
- 「pgAdmin 4 v3.5」( https://www.postgresql.org/ftp/pgadmin/pgadmin4/v3.5/macos/ )
ようやくここでインストーラをダウンロードできます。
pgadmin4-3.5.dmg がダウンロードされるのでダブルクリックします。
pgAdmin 4.app が出て3来るのでダブルクリックします。
ウィザード形式のインストーラが起動するのでポチポチ設定して行きます。
特別な設定するもののなく完了します。
インストール後自動で起動しますが、Launchpad に pgAdmin 4 が生まれるのでこれで起動できます。