.net column
.NET開発者のためのブログメディア

【データベースへのアクセス】ADO.NETからPostgreSQLに接続する方法

 
【データベースへのアクセス】ADO.NETからPostgreSQLに接続する方法

Visual Studioを利用して開発をする場合、多くの現場で採用されているデータベースは、マイクロソフト社の製品であるSQL Serverではないでしょうか。しかし当然ですが、SQL Server以外のデータベースを使用して開発することも多々あります。ここでは、オープンソースのデータベースの代表格であるPostgreSQLの接続方法を紹介します。

SE
PostgreSQLを接続する時は、SQL Serverと同じようなやり方で大丈夫でしょうか?
PL
そんなにやることに差はないですよ。ただPostgreSQLは、オープンソースのライブラリを使用して接続することが多いので、まずはそのライブラリを使用できる状態にする必要がありますけどね。

ADO.NETからPostgreSQLに接続するにはNpgsqlがおすすめ

C#の開発現場でPostgreSQLを利用する際に多くの現場で利用されているのが、オープンソースライブラリであるNpgsqlです。
まず、以下のサイトからダウンロード、インストールしましょう。
(公式サイト)https://www.nuget.org/packages/Npgsql/

Npgsqlを使用可能な状態にするために最低限必要なDLLは「Npgsql.dll」と「Mono.Security.dll」の2つです。この2つのDLLを実行するEXEファイルと同じ階層に置きましょう。その後、Visual Studioから上記のDLLを参照に追加すると、Npgsqlを使用できます。

また、オープンソースのライブラリである以上、時には自分でソースをデバッグし、修正することが必要になるかもしれません。NpgsqlはC#で作成されているので、その点を考慮しても、開発者にとって使い勝手が良いライブラリになるはずです。

ADO.NETからPostgreSQLに接続する事例

以下のサンプルプログラムは、PostgreSQLを使用して、簡単な登録と検索を実施する例になります。

出力ログ参照
出力ログ

PostgreSQLのm_addressテーブル内容
m_addressテーブル内容

PG
Npgsql以外にも、PostgreSQL用のライブラリってあるのでしょうか?
PL
dotConnect for PostgreSQLというライブラリがあります。こちらは有償ですが、サポートも充実しているし、接続も簡単にできますよ。現場によると思いますが、こちらも選択肢の1つとして覚えておいていいと思います。
(dotConnect for PostgreSQL公式サイト)https://www.devart.com/dotconnect/postgresql/

ユーザーにとってベストなデータベースを導入しましょう

C#で開発する場合は言語との親和性や生産性を考慮して、SQL Serverを導入することが多くなります。しかし本来、データベースは開発者の生産性向上を理由に選択するものではなく、大事な資産として活用するユーザーのために選択されるべき代物です。PostgreSQLがユーザーにとってベストなデータベースになりえることもあります。
この機会に「C# = SQL Server」という方程式の見直しをしてみてはいかがでしょうか。


.NET分野でのキャリアアップをお考えの方は、現在募集中の求人情報をご覧ください。

また、直接のエントリーも受け付けております。

エントリー(応募フォーム)

Search

Popular

reccomended

Categories

Tags