【C#】Oracleへの接続をクライアントインストール無しで行う #2
OracleClientのインストールに関する記事を書きましたがサンプルに問題がありましたので訂正です。
【C#】Oracleへの接続をクライアントインストール無しで行う
問題点
この記事の最後に書いてあるサンプルですがODP.netを参照しただけではエラーとなります。原因はOracleConnectionからはQueryメソッドは存在しないからです。
ODP.netのみでクエリを実行する場合はCommandクラスを呼び出してからExecuteNonQueryなどを実行する形になります。
解決方法
記事では記載していませんでしたが実際にはDapper dot netを追加していました。Dapper dot netはマイクロORMで追加はNuGetで出来ます。
【VisualStudio】NuGetの使い方
ちなみにDapperを使用しない場合のサンプルも書いておきます。
using System;
using Oracle.ManagedDataAccess.Client;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
using (var Connection = new OracleConnection())
{
//ユーザ端末にはクライアントをインストールしないのでtnsnames.oraが存在しない
//tnsnamesは直接指定する
var DataSource = "mydb=" +
"(DESCRIPTION =" +
"(ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))" +
"(CONNECT_DATA =" +
"(SERVER = DEDICATED)" +
"(SERVICE_NAME = mydb)" +
")" +
")";
Connection.ConnectionString = "User ID=SCOTT; Password=TIGER; Data Source=" + DataSource + ";";
Connection.Open();
var Command = new OracleCommand("SELECT hoge FROM fuga");
Command.Connection = Connection;
var dr = Command.ExecuteReader();
while (dr.Read())
{
Console.WriteLine(dr["hogehoge"]);
}
}
Console.ReadLine();
}
}
}



“【C#】Oracleへの接続をクライアントインストール無しで行う #2” に対して1件のコメントがあります。
コメントは受け付けていません。