OracleClientFactoryクラス
OracleClientFactoryオブジェクトによって、アプリケーションはODP.NETクラスを一般的な方法でインスタンス化できます。
クラスの継承
System.Object
System.Data.Common.DbProviderFactory
Oracle.DataAccess.Client.OracleClientFactory
宣言
// C# public sealed class OracleClientFactory : DbProviderFactory
要件
| プロバイダ | ODP.NET管理対象外ドライバ | ODP.NET管理対象ドライバ | ODP.NET Core |
|---|---|---|---|
|
アセンブリ |
|
|
|
|
ネームスペース |
|
|
|
|
.NET Framework |
システム要件を参照してください |
システム要件を参照してください |
- |
|
.NET Core |
- |
- |
システム要件を参照してください |
スレッド安全性
パブリック静的メソッドはスレッドセーフですが、インスタンス・メソッドではスレッド安全性は保証されません。
例
// C#
using System;
using System.Data;
using System.Data.Common;
using Oracle.DataAccess.Client;
class FactorySample
{
static void Main()
{
string constr = "user id=scott;password=tiger;data source=oracle";
DbProviderFactory factory =
DbProviderFactories.GetFactory("Oracle.DataAccess.Client");
DbConnection conn = factory.CreateConnection();
try
{
conn.ConnectionString = constr;
conn.Open();
DbCommand cmd = factory.CreateCommand();
cmd.Connection = conn;
cmd.CommandText = "select * from emp";
DbDataReader reader = cmd.ExecuteReader();
while (reader.Read())
Console.WriteLine(reader["EMPNO"] + " : " + reader["ENAME"]);
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
Console.WriteLine(ex.StackTrace);
}
}
}