【.NET】Visual Studio 2005でPostgreSQLに接続する

VB.NETでクライアントアプリケーション作ってますが、Visual Studio 2005でPostgreSQLに接続するためのメモ。

ODBCを使ってもよいですが、クライアントに設定しないといけないので.NET用のデータプロバイダ(Data Provider)が提供されていないか検索したら、やっぱりありました。ODBCを経由しないから、こっちの方が速いはず。

Npgsql .Net データプロバイダ

PostgreSQL8.3.3からはスタックビルダがついていて、これを利用するとNpgsqlも簡単にインストールできますが、PostgreSQL8.3.4の段階では、まだNpgsql v1.0.0でした。

image

これだと参照設定しても利用できなかったので、たぶん.Net Framework2.0だとNpgsql2.0以上を使わないと駄目なんじゃないかな? ここから最新バージョンをダウンロードしてきて、適当なフォルダに保存します。 C:\Program Files\Npgsql\2.0\ とか。

そして、Visual Studio 2005のプロジェクト→参照の追加で参照タブから Npgsql.dll を選択すれば使えるようになります。My Projectの「参照」で編集可能。

Imports Npgsql

Public Sub test()
     Dim conn As NpgsqlConnection = New NpgsqlConnection("Server=192.168.0.1;Port=5432;User Id=user;Password=pass;Database=hoge_db;")
     conn.Open()
     Dim command As NpgsqlCommand = New NpgsqlCommand("select name from user where id = 2", conn)
     Dim sResult As String = command.ExecuteScalar()
     MessageBox.Show(sResult)
     conn.Close()
End Sub

日本語が文字化けするというのをメーリングリストなどで見たことがあるけど、今のところ大丈夫そう。

PHP用DB接続支援ライブラリ「somfa」