OracleClientFactoryオブジェクトによって、アプリケーションはODP.NETクラスを一般的な方法でインスタンス化できます。
クラスの継承
System.Object
System.Data.Common.DbProviderFactory
Oracle.DataAccess.Client.OracleClientFactory
宣言
// C# public sealed class OracleClientFactory : DbProviderFactory
要件
| プロバイダ | ODP.NET管理対象外ドライバ | ODP.NET管理対象ドライバ |
| アセンブリ | Oracle.DataAccess.dll |
Oracle.ManagedDataAccess.dll |
| ネームスペース | Oracle.DataAccess.Client |
Oracle.ManagedDataAccess.Client |
| .NET Framework | 3.5, 4.0, 4.5 | 4.0, 4.5 |
スレッド安全性
パブリック静的メソッドはスレッドセーフですが、インスタンス・メソッドではスレッド安全性は保証されません。
例
// 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);
}
}
}
OracleClientFactoryメンバーを、次の各表にリストします。
OracleClientFactoryコンストラクタ
OracleClientFactoryコンストラクタを、表6-1にリストします。
OracleClientFactoryパブリック・プロパティ
OracleClientFactoryパブリック・プロパティを、表6-2にリストします。
OracleClientFactoryパブリック・メソッド
OracleClientFactoryパブリック・メソッドを、表6-3にリストします。
表6-3 OracleClientFactoryパブリック・メソッド
| メソッド | 説明 |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
OracleClientFactoryコンストラクタでは、OracleClientFactoryクラスの新規インスタンスが作成されます。
宣言
// C# public OracleClientFactory();
OracleClientFactoryパブリック・プロパティを、表6-4にリストします。
OracleClientFactoryパブリック・メソッドを、表6-5にリストします。
表6-5 OracleClientFactoryパブリック・メソッド
| メソッド | 説明 |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
このメソッドは、OracleCommandオブジェクトを表すDbCommandオブジェクトを戻します。
宣言
// C# public override DbCommand CreateCommand();
戻り値
OracleCommandオブジェクトを表すDbCommandオブジェクト。
このメソッドは、OracleCommandBuilderオブジェクトを表すDbCommandBuilderオブジェクトを戻します。
宣言
// C# public override DbCommandBuilder CreateCommandBuilder();
戻り値
OracleCommandBuilderオブジェクトを表すDbCommandBuilderオブジェクト。
このメソッドは、OracleConnectionオブジェクトを表すDbConnectionオブジェクトを戻します。
宣言
// C# public override DbConnection CreateConnection();
戻り値
DbConnectionオブジェクトを表すDbConnectionオブジェクト。
このメソッドは、OracleConnectionStringBuilderオブジェクトを表すDbConnectionStringBuilderオブジェクトを戻します。
宣言
// C# public override DbConnectionStringBuilder CreateConnectionStringBuilder();
戻り値
OracleConnectionStringBuilderオブジェクトを表すDbConnectionStringBuilderオブジェクト。
このメソッドは、OracleDataAdapterオブジェクトを表すDbDataAdapterオブジェクトを戻します。
宣言
// C# public override DbDataAdapter CreateDataAdapter();
戻り値
DbDataAdapterオブジェクトを表すDbDataAdapterオブジェクト。
このメソッドは、OracleDataSourceEnumeratorオブジェクトを表すDbDataSourceEnumeratorオブジェクトを戻します。
宣言
// C# public override DbDataSourceEnumerator CreateDataSourceEnumerator();
戻り値
OracleDataSourceEnumeratorオブジェクトを表すDbDataSourceEnumeratorオブジェクト。
このメソッドは、OracleParameterオブジェクトを表すDbParameterオブジェクトを戻します。
宣言
// C# public override DbParameter CreateParameter();
戻り値
OracleParameterオブジェクトを表すDbParameterオブジェクト。
このメソッドは、OraclePermissionオブジェクトを表すCodeAccessPermissionオブジェクトを戻します。
宣言
// C#
public override System.Security.CodeAccessPermission CreatePermission(
System.Security.Permissions.PermissionState state);
パラメータ
state
PermissionStateオブジェクト。
戻り値
OraclePermissionオブジェクトを表すCodeAccessPermissionオブジェクト。
備考
このメソッドは、プロバイダに依存しないコードを記述するユーザーが、OraclePermissionオブジェクトを表すCodeAccessPermissionインスタンスを取得できるようにします。