C# Oracle11gに接続してselectするサンプル

C#のOracle11gに接続してselectするサンプルです。

確認環境
・Microsoft Visual Studio Community 2019
・Oracle Express Edition 11g Release 2
・Oracle.ManagedDataAccess 19.5.0

目次

設定 Oracle.ManagedDataAccessを取得する
コード 接続してselectを実行する

Oracle.ManagedDataAccessを取得する

Oracle.ManagedDataAccessは、Oracle公式のドライバです。
(Oracle Data Provider for .NET(ODP.NET),Managed Driverです)
この他にOracle Clientをインストールする必要はありません。

1.Visual Studioの「ツール」→「NuGetパッケージマネージャー」→「ソリューションのNuGetパッケージのい管理」をクリックします。

 

2.「参照」タブをクリックし検索入力欄に「Oracle.ManagedDataAccess」と入力します。
表示されたOracle.ManagedDataAccessをクリックし、プロジェクトのチェックを入れ、インストールボタンを押します。

 

3.インストールが完了すると参照配下にOracle.ManagedDataAccessが追加されます。

app.config等の修正はありませんでした。

接続してselectを実行する

Oracleに接続してselectを実行するサンプルです。

using System;
using Oracle.ManagedDataAccess.Client;

class Test1
{
    static void Main()
    {
        string sql = "SELECT id,name,romaji FROM SYAIN";
        try
        {
            using (OracleConnection conn = new OracleConnection())
            {
                conn.ConnectionString =
                    "User ID=hr; Password=hr; Data Source=localhost/XE";
                conn.Open();
                using (OracleCommand cmd = new OracleCommand(sql, conn))
                {
                    using (OracleDataReader reader = cmd.ExecuteReader())
                    {
                        while (reader.Read())
                        {
                            Console.WriteLine(reader["id"] + ":"
                                            + reader["name"] + ":"
                                            + reader["romaji"]);
                        }
                    }
                }
            }
        }
        catch (Exception ex)
        {
            Console.WriteLine(ex.Message.ToString());
        }
    }
}

1行目は、Oracle.ManagedDataAccess.Clientをインポートしています。
8行目は、select文です。
11,16,18行目は、usingステートメントです。
配下のブロックの処理が終了したときにリソースを解放するDispose()が呼ばれます。
14行目は、接続情報です。ユーザーID,パスワード、データソースを指定します。
18行目は、SQL文を実行しています。
21~23行目は、テーブルから取得した値を表示しています。

以下は、OracleのOracleCommandクラスのリンクです。
https://docs.oracle.com/cd/E57425_01/121/ODPNT/OracleCommandClass.htm

実行結果

以下のように表示されます。

1:鈴木:suzuki
2:田中:tanaka
3:佐藤:sato

関連の記事

Oracle11gのインストールとHRテーブルを確認
Oracle SQLコマンドラインを使用するサンプル
Oracle table,view等のDDLの作成のサンプル

△上に戻る