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

C#のOracle11gに接続してselectするサンプルです。
(確認環境:Microsoft Visual Studio Community 2019,Oracle Express Edition 11g)

目次

サンプル 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 System.Data;
using Oracle.ManagedDataAccess.Client;

class Test1
{
	static void Main()
	{
		string sql = "SELECT id,name,romaji FROM employee";
		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))
				{
					cmd.Connection = conn;
					cmd.CommandType = CommandType.Text;
					using (OracleDataReader reader = cmd.ExecuteReader())
					{
						while (reader.Read())
						{
							Console.WriteLine(reader["id"] + ":"
											+ reader["name"] + ":"
											+ reader["romaji"]);
						}
					}
				}
			}
		}
		catch (Exception ex)
		{
			Console.WriteLine(ex.Message.ToString());
		}
	}
}

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

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

実行結果

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

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

関連の記事

C# Oracleでデータ更新する(insert/update/delete)

△上に戻る