C#からODBC経由でPostgreSQL操作。

環境

VisualStudio2017Pro
.Net Framework 4.7.2
コンソールアプリケーション
Windows10 Pro 64bit
ODBCドライバはインストール済み。

内容

既にPostgreSQLデータベースがあり、
テーブルや行のデータが入っている状態。
そこからとりあえずSELECT文を実行したサンプル。

ソースコード

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Data;
using System.Data.Odbc;

namespace DBTest
{
    class Program
    {
        static void Main(string[] args)
        {
            String strConfig =
                // ドライバ名は「ODBC データ ソース アドミニストレーター」で確認できる。
                "Driver={PostgreSQL Unicode(x64)};database=estimate;Server=192.168.1.9;Port=5432;Uid=UserName;Pwd=Password;CommandTimeOut=20;Timeout=5";

            String strQuery =
                "SELECT detail1, writer FROM estimate "
                + "WHERE writer='適当な条件';";

            using (OdbcConnection connection = new OdbcConnection(strConfig))
            {
                OdbcCommand command = new OdbcCommand(strQuery, connection);

                try
                {
                    connection.Open();
                    // INSERT等の行を返さないSQL文の場合は、「ExecuteNonQuery」メソッドを使う。
                    OdbcDataReader reader = command.ExecuteReader();
                    while (reader.Read())
                    {
                        Console.WriteLine("{0}\t{1}", reader[0], reader[1]);
                    }
                    reader.Close();
                }
                catch (Exception e)
                {
                    Console.WriteLine(e.Message);
                }
                Console.ReadLine();
            }
        }
    }
}