Oracle® Data Provider for .NET開発者ガイド ODAC 12c リリース4 (12.1.0.2) for Microsoft Windows E72575-01 |
|
前 |
次 |
OracleCommandBuilder
オブジェクトでは、データベースが更新される場合に、OracleDataAdapter
に対して自動SQL生成が行われます。
クラスの継承
System.Object
System.MarshalByRefObject
System.ComponentModel.Component
System.Data.Common.DbCommandBuilder
OracleDataAccess.Client.OracleCommandBuilder
宣言
// C# public sealed class OracleCommandBuilder : DbCommandBuilder
要件
プロバイダ | 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.6 | 4.0, 4.5, 4.6 |
スレッド安全性
パブリック静的メソッドはスレッドセーフですが、インスタンス・メソッドではスレッド安全性は保証されません。
備考
OracleCommandBuilder
では、OracleDataAdapter
のSelectCommand
プロパティが設定されている場合、単一表の更新に対してSQL文が自動的に生成されます。DataSet
に複数の表が含まれている場合、例外がスローされます。DataAdapter
プロパティが設定されている場合は、OracleCommandBuilder
がRowUpdating
イベントのリスナーとして自己登録します。一度に関連付けることができるのは、1つのOracleDataAdapter
オブジェクトと1つのOracleCommandBuilder
オブジェクトのみです。
INSERT
、UPDATE
またはDELETE
文を生成する場合、OracleCommandBuilder
では、必要なメタデータ・セットを取得するため、DataSet
内のExtendedProperties
が使用されます。メタデータの取得後にSelectCommand
が変更された場合(最初の更新後など)、メタデータを更新するためRefreshSchema
メソッドがコールされる必要があります。
OracleCommandBuilder
により、最初にDataSet
のExtendedProperties
のメタデータが検索されます。メタデータがない場合、OracleCommandBuilder
ではOracleDataAdapter
のSelectCommand
プロパティによってメタデータが取得されます。
例
次の例では、EMP
表の更新を実行しています。ここでは、OracleDataAdapter.Update()
がコールされた場合のOracleDataAdapter
オブジェクトに対するUpdateCommand
を作成するために、OracleCommandBuilder
オブジェクトが使用されています。
// C# using System; using System.Data; using Oracle.DataAccess.Client; class OracleCommandBuilderSample { static void Main() { string constr = "User Id=scott;Password=tiger;Data Source=oracle"; string cmdstr = "SELECT empno, sal from emp"; // Create the adapter with the selectCommand txt and the // connection string OracleDataAdapter adapter = new OracleDataAdapter(cmdstr, constr); // Create the builder for the adapter to automatically generate // the Command when needed OracleCommandBuilder builder = new OracleCommandBuilder(adapter); // Create and fill the DataSet using the EMP DataSet dataset = new DataSet(); adapter.Fill(dataset, "EMP"); // Get the EMP table from the dataset DataTable table = dataset.Tables["EMP"]; // Indicate DataColumn EMPNO is unique // This is required by the OracleCommandBuilder to update the EMP table table.Columns["EMPNO"].Unique = true; // Get the first row from the EMP table DataRow row = table.Rows[0]; // Update the salary double sal = double.Parse(row["SAL"].ToString()); row["SAL"] = sal + .01; // Now update the EMP using the adapter // The OracleCommandBuilder will create the UpdateCommand for the // adapter to update the EMP table adapter.Update(dataset, "EMP"); Console.WriteLine("Row updated successfully"); } }
OracleCommandBuilder
メンバーは次の表にリスト表示されています。
OracleCommandBuilderコンストラクタ
OracleCommandBuilder
コンストラクタを、表6-15にリストします。
OracleCommandBuilder静的メソッド
OracleCommandBuilder
静的メソッドを、表6-16にリストします。
表6-16 OracleCommandBuilder静的メソッド
メソッド | 説明 |
---|---|
|
指定した |
|
|
OracleCommandBuilderプロパティ
OracleCommandBuilder
プロパティを、表6-17にリストします。
表6-17 OracleCommandBuilderプロパティ
プロパティ | 説明 |
---|---|
|
|
SQL文を生成するときにOracleオブジェクト名の前後に二重引用符を使用するかどうかを示します |
|
|
サポート対象外 |
|
サポート対象外 |
|
サポート対象外 |
SQL文が生成される |
|
|
開始文字、またはスペースや予約語などの特殊文字がその名前に含まれるデータベース・オブジェクトを指定するために使用する文字を指定します。 |
|
終了文字、またはスペースや予約語などの特殊文字がその名前に含まれるデータベース・オブジェクトを指定するために使用する文字を指定します。 |
|
スキーマ識別子と他の識別子の間のセパレータ用文字を指定します。 |
|
|
OracleCommandBuilderパブリック・メソッド
OracleCommandBuilder
パブリック・メソッドを、表6-18にリストします。
表6-18 OracleCommandBuilderパブリック・メソッド
パブリック・メソッド | 説明 |
---|---|
|
|
|
|
|
|
データベース上で削除を実行するSQL文( |
|
|
|
データベース上で挿入を実行するSQL文( |
|
|
|
|
|
データベース上で更新を実行するSQL文( |
|
|
|
|
適切にエスケープした識別子のすべての埋込み引用とともに、指定された非引用識別子の正しい引用形式を戻します。 |
|
|
|
引用の目的で識別子に埋め込まれたエスケープ表記をいずれも削除し、指定された引用識別子の正しい非引用形式を戻します。 |
|
|
OracleCommandBuilderイベント
OracleCommandBuilder
イベントを、表6-19にリストします。
OracleCommandBuilder
コンストラクタでは、OracleCommandBuilder
クラスの新規インスタンスを作成します。
オーバーロード・リスト:
このコンストラクタでは、OracleCommandBuilder
クラスのインスタンスを作成します。
OracleCommandBuilder(OracleDataAdapter)
このコンストラクタでは、OracleCommandBuilder
クラスのインスタンスを作成し、DataAdapter
プロパティを指定されたOracleDataAdapter
オブジェクトに設定します。
このコンストラクタでは、OracleCommandBuilder
クラスのインスタンスを作成します。
宣言
// C# public OracleCommandBuilder();
備考
デフォルトのコンストラクタ
OracleCommandBuilder
静的メソッドを、表6-20にリストします。
表6-20 OracleCommandBuilder静的メソッド
メソッド | 説明 |
---|---|
|
指定した |
|
|
このメソッドは、指定したOracleCommand
で表されるストアド・プロシージャまたは関数のパラメータに対する問合せを実行し、その戻り値をコマンドのOracleParameterCollection
に移入します。
宣言
// C#
public static void DeriveParameters(OracleCommand command);
パラメータ
command
パラメータが導出されるストアド・プロシージャまたは関数を表すコマンド
例外
InvalidOperationException
- CommandText
がストアド・プロシージャまたは関数の有効な名前でないか、CommandType
がCommandType.StoredProcedure
でないか、Connection.State
がConnectionState.Open
ではありません。
備考
DeriveParameters
を使用して、ストアド・ファンクションを表すOracleCommand
オブジェクトのParameter
コレクションを移入すると、このファンクションの戻り値が最初のパラメータ(OracleParameterCollection
の位置0
)としてバインドされます。
DeriveParameters
を使用できるのはストアド・プロシージャまたは関数に対してのみであり、無名PL/SQLブロックに対しては使用できません。
DeriveParameters
を使用すると、ストアド・プロシージャ/ファンクションの実行前にパラメータのメタデータを取得するためのデータベース・ラウンドトリップが発生します。これを使用するのは設計時のみにしてください。本番環境での不必要なデータベース・ラウンドトリップを避けるには、設計時にDeriveParameters
メソッドにより戻された明示的なパラメータ設定でDeriveParameters
メソッド自体を置き換えるようにしてください。
DeriveParameters
でストアド・プロシージャ名または関数名の大/小文字の区別が保持されるのは、名前が二重引用符で囲まれている場合のみです。たとえば、データベース内のストアド・プロシージャの名前が大/小文字の混在したGetEmployees
である場合、OracleCommand
オブジェクトのCommandText
プロパティは、次の例のように適切に設定する必要があります。
cmd.CommandText = "\"GetEmployees\"";
パッケージ内のストアド・プロシージャおよび関数は、次の書式で指定する必要があります。
<package name>.<procedure or function name>
たとえば、EmpProcedures
(大/小文字が混在)というパッケージ内のGetEmployees
(大/小文字が混在)というストアド・プロシージャのパラメータを取得する場合、OracleCommand
に指定する名前は次のとおりです。
"\"EmpProcedures\".\"GetEmployees\""
DeriveParameter
をオブジェクト型のメソッドに使用することはできません。
導出されるパラメータには、ストアド・プロシージャを正しく実行するのに必要なすべてのメタデータ情報が含まれています。必要な場合は、アプリケーションで実行の前にパラメータの値を指定する必要があります。またアプリケーションでは、実行前にパラメータのメタデータ情報が変更される場合があります。たとえば、ストアド・プロシージャの実行を最適化するために、OracleParameter
のSize
プロパティがPL/SQLのCHARおよびSTRING型に変更されます。
導出されるパラメータの出力値は、デフォルトでは.NETタイプとして戻されます。出力パラメータをプロバイダ・タイプとして取得するには、パラメータのOracleDbType
プロパティをアプリケーションで明示的に設定して、このデフォルト動作をオーバーライドする必要があります。これを簡単に行う1つの方法として、プロバイダ・タイプとして戻す必要のある出力パラメータのすべてで、OracleDbType
をそれ自体に設定するという方法があります。
指定したOracleCommand
のBindByName
プロパティはそのまま残されますが、アプリケーションでその値を変更することができます。
指定したストアド・プロシージャまたは関数がオーバーロードの場合は、パラメータ・コレクションへの移入に最初のオーバーロードが使用されます。
// Database Setup /* connect scott/tiger@oracle CREATE OR REPLACE PROCEDURE MyOracleStoredProc (arg_in IN VARCHAR2, arg_out OUT VARCHAR2) IS BEGIN arg_out := arg_in; END; / */ // C# using System; using System.Data; using Oracle.DataAccess.Client; class DeriveParametersSample { static void Main() { // Create the PL/SQL Stored Procedure MyOracleStoredProc as indicated in // the preceding Database Setup string constr = "User Id=scott;Password=tiger;Data Source=oracle"; OracleConnection con = new OracleConnection(constr); con.Open(); // Create an OracleCommand OracleCommand cmd = new OracleCommand("MyOracleStoredProc", con); cmd.CommandType = CommandType.StoredProcedure; // Derive Parameters OracleCommandBuilder.DeriveParameters(cmd); Console.WriteLine("Parameters Derived"); // Prints "Number of Parameters for MyOracleStoredProc = 2" Console.WriteLine("Number of Parameters for MyOracleStoredProc = {0}", cmd.Parameters.Count); // The PL/SQL stored procedure MyOracleStoredProc has one IN and // one OUT parameter. Set the Value for the IN parameter. cmd.Parameters[0].Value = "MyText"; // The application may modify the other OracleParameter properties also // This sample uses the default Size for the IN parameter and modifies // the Size for the OUT parameter // The default size for OUT VARCHAR2 is 4000 // Prints "cmd.Parameters[1].Size = 4000" Console.WriteLine("cmd.Parameters[1].Size = " + cmd.Parameters[1].Size); // Set the Size for the OUT parameter cmd.Parameters[1].Size = 6; // Execute the command cmd.ExecuteNonQuery(); // Prints "cmd.Parameters[1].Value = MyText" Console.WriteLine("cmd.Parameters[1].Value = " + cmd.Parameters[1].Value); con.Close(); con.Dispose(); } }
例
OracleCommandBuilder
プロパティを、表6-21にリストします。
表6-21 OracleCommandBuilderプロパティ
プロパティ | 説明 |
---|---|
|
|
SQL文を生成するときにOracleオブジェクト名の前後に二重引用符を使用するかどうかを示します |
|
|
サポート対象外 |
|
サポート対象外 |
|
サポート対象外 |
SQL文が生成される |
|
|
開始文字、またはスペースや予約語などの特殊文字がその名前に含まれるデータベース・オブジェクトを指定するために使用する文字を指定します。 |
|
終了文字、またはスペースや予約語などの特殊文字がその名前に含まれるデータベース・オブジェクトを指定するために使用する文字を指定します。 |
|
スキーマ識別子と他の識別子の間のセパレータ用文字を指定します。 |
|
|
このプロパティでは、SQL文を生成する場合にOracleオブジェクト名(表または列など)の前後に二重引用符を使用するかどうかを指定します。
宣言
// C# bool CaseSensitive {get; set;}
プロパティ値
二重引用符を使用するかどうかを示すbool
備考
デフォルト = false
このプロパティは、サポートされていません。
宣言
// C# public override CatalogLocation CatalogLocation {get; set;}
例外
NotSupportedException
- このプロパティは、サポートされていません。
備考
このプロパティは、サポートされていません。
このプロパティは、サポートされていません。
宣言
// C# public override string CatalogSeparator {get; set;}
例外
NotSupportedException
- このプロパティは、サポートされていません。
備考
このプロパティは、サポートされていません。
このプロパティは、サポートされていません。
宣言
// C# public override string ConflictOption {get; set;}
例外
NotSupportedException
- このプロパティは、サポートされていません。
備考
このプロパティは、サポートされていません。
このプロパティでは、SQL文が生成されるOracleDataAdapter
オブジェクトを示します。
宣言
// C# OracleDataAdapter DataAdapter{get; set;}
プロパティ値
OracleDataAdapter
オブジェクト。
備考
デフォルト = null
このプロパティでは、名前にスペースまたは予約語などの特殊文字が含まれるデータベース・オブジェクトの指定に使用される開始文字または文字を指定します。
宣言
// C# public override string QuotePrefix {get; set;}
プロパティ値
開始文字または使用する文字。デフォルト値は"\""
です。
備考
このプロパティは、OracleConnection
またはOracleCommand
オブジェクトのいずれからも独立しています。
このプロパティでは、終了文字、またはスペースや予約語などの特殊文字がその名前に含まれているデータベース・オブジェクトを指定する文字を指定します。
宣言
// C# public override string QuoteSuffix {get; set;}
プロパティ値
終了文字または使用する文字。デフォルト値は"\""
です。
備考
このプロパティは、OracleConnection
またはOracleCommand
オブジェクトのいずれからも独立しています。
このプロパティでは、スキーマ識別子と他の識別子の間のセパレータ用文字を指定します。
宣言
// C# public override string SchemaSeparator {get; set; }
プロパティ値
スキーマ・セパレータとして使用される文字。
例外
NotSupportedException
- 入力値はピリオド(.
)ではありません。
備考
デフォルトのスキーマ・セパレータはピリオド(.
)です。このプロパティで受容可能な値はピリオド(.
)のみです。
このプロパティは、OracleConnection
またはOracleCommand
オブジェクトのいずれからも独立しています。
例
// C# using System; using System.Data; using System.Data.Common; using Oracle.DataAccess.Client; class SchemaSeperatorSample { static void Main(string[] args) { try { OracleCommandBuilder cmdBuilder = new OracleCommandBuilder(); //schemaSeparator is dot(.) Console.WriteLine("schemaSeparator is {0}", cmdBuilder.SchemaSeparator); //set the schemaseparator, only '.' is allowed. cmdBuilder.SchemaSeparator = "."; // the only acceptable value for this property is a dot (.) // Hence the following line will throw NotSupportedException cmdBuilder.SchemaSeparator = "!"; } catch (Exception ex) { Console.WriteLine(ex.Message); Console.WriteLine(ex.StackTrace); } } }
OracleCommandBuilder
パブリック・メソッドを、表6-22にリストします。
表6-22 OracleCommandBuilderパブリック・メソッド
パブリック・メソッド | 説明 |
---|---|
|
|
|
|
|
|
データベース上で削除を実行するSQL文( |
|
|
|
データベース上で挿入を実行するSQL文( |
|
|
|
|
|
データベース上で更新を実行するSQL文( |
|
|
|
|
適切にエスケープした識別子のすべての埋込み引用とともに、指定された非引用識別子の正しい引用形式を戻します。 |
|
|
|
引用の目的で識別子に埋め込まれたエスケープ表記をいずれも削除し、指定された引用識別子の正しい非引用形式を戻します。 |
|
|
データベース上で削除を実行するSQL文(CommandText
)を有する自動生成されたOracleCommand
オブジェクトを取得します
オーバーロード・リスト
このメソッドでは、OracleDataAdapter
でアプリケーションがUpdate()
を呼び出すときにデータベース上で削除を実行するSQL文(CommandText
)が含まれている、自動生成されたOracleCommand
オブジェクトを取得します。
このメソッドでは、OracleDataAdapter
でアプリケーションがUpdate()
を呼び出すときにデータベース上で削除を実行するSQL文(CommandText
)が含まれている、自動生成されたOracleCommand
オブジェクトを取得します。
このメソッドでは、OracleDataAdapter
でアプリケーションがUpdate()
を呼び出すときにデータベース上で削除を実行するSQL文(CommandText
)が含まれている、自動生成されたOracleCommand
オブジェクトを取得します。
宣言
// C# public OracleCommand GetDeleteCommand();
戻り値
OracleCommand
。
例外
ObjectDisposedException
- OracleCommandBuilder
オブジェクトはすでに処理されています。
InvalidOperationException
- SelectCommand
またはDataAdapter
プロパティのいずれかがNULL、または主キーをOracleDataAdapter
のSelectCommand
プロパティから取得できない場合。
このメソッドでは、OracleDataAdapter
でアプリケーションがUpdate()
を呼び出すときにデータベース上で削除を実行するSQL文(CommandText
)が含まれている、自動生成されたOracleCommand
オブジェクトを取得します。
宣言
// C# public OracleCommand GetDeleteCommand(bool useColumnsForParameterNames);
パラメータ
useColumnsForParameterNames
trueの場合、列内に一致するパラメータ名が、可能であれば生成されます。falseの場合は、パラメータが位置でバインドされます。
戻り値
OracleCommand
。
例外
ObjectDisposedException
- OracleCommandBuilder
オブジェクトはすでに処理されています。
InvalidOperationException
- SelectCommand
またはDataAdapter
プロパティのいずれかがNULL、または主キーをOracleDataAdapter
のSelectCommand
プロパティから取得できない場合。
備考
ブール値がtrue
の場合、列内に一致するパラメータ名が、可能であれば生成されます。false
の場合は、パラメータが位置でバインドされます。
データベース上で挿入を実行するSQL文(CommandText
)を有する自動生成されたOracleCommand
オブジェクトを取得します
オーバーロード・リスト
このメソッドでは、OracleDataAdapter
でアプリケーションがUpdate()
を呼び出すときにデータベース上で挿入を実行するSQL文(CommandText
)を含んでいる、自動生成されたOracleCommand
オブジェクトを取得します。
このメソッドでは、OracleDataAdapter
でアプリケーションがUpdate()
を呼び出すときにデータベース上で挿入を実行するSQL文(CommandText
)を含んでいる、自動生成されたOracleCommand
オブジェクトを取得します。
このメソッドでは、OracleDataAdapter
でアプリケーションがUpdate()
を呼び出すときにデータベース上で挿入を実行するSQL文(CommandText
)を含んでいる、自動生成されたOracleCommand
オブジェクトを取得します。
宣言
// C# public OracleCommand GetInsertCommand();
戻り値
OracleCommand
。
例外
ObjectDisposedException
- OracleCommandBuilder
オブジェクトはすでに処理されています。
InvalidOperationException
- SelectCommand
またはDataAdapter
プロパティのいずれかがNULL、または主キーをOracleDataAdapter
のSelectCommand
プロパティから取得できない場合。
このメソッドでは、OracleDataAdapter
でアプリケーションがUpdate()
を呼び出すときにデータベース上で挿入を実行するSQL文(CommandText
)を含んでいる、自動生成されたOracleCommand
オブジェクトを取得します。
宣言
// C# public OracleCommand GetInsertCommand(bool useColumnsForParameterNames);
パラメータ
useColumnsForParameterNames
trueの場合、列内に一致するパラメータ名が、可能であれば生成されます。falseの場合は、パラメータが位置でバインドされます。
戻り値
OracleCommand
。
例外
ObjectDisposedException
- OracleCommandBuilder
オブジェクトはすでに処理されています。
InvalidOperationException
- SelectCommand
またはDataAdapter
プロパティのいずれかがNULL、または主キーをOracleDataAdapter
のSelectCommand
プロパティから取得できない場合。
備考
ブール値がtrue
の場合、列内に一致するパラメータ名が、可能であれば生成されます。false
の場合は、パラメータが位置でバインドされます。
データベース上で更新を実行するSQL文(CommandText
)を有する自動生成されたOracleCommand
オブジェクトを取得します
オーバーロード・リスト
このメソッドでは、OracleDataAdapter
でアプリケーションがUpdate()
を呼び出すときにデータベース上で更新を実行するSQL文(CommandText
)を含んでいる、自動生成されたOracleCommand
オブジェクトを取得します。
このメソッドでは、OracleDataAdapter
でアプリケーションがUpdate()
を呼び出すときにデータベース上で更新を実行するSQL文(CommandText
)を含んでいる、自動生成されたOracleCommand
オブジェクトを取得します。
このメソッドでは、OracleDataAdapter
でアプリケーションがUpdate()
を呼び出すときにデータベース上で更新を実行するSQL文(CommandText
)を含んでいる、自動生成されたOracleCommand
オブジェクトを取得します。
宣言
// C# public OracleCommand GetUpdateCommand();
戻り値
OracleCommand
。
例外
ObjectDisposedException
- OracleCommandBuilder
オブジェクトはすでに処理されています。
InvalidOperationException
- SelectCommand
またはDataAdapter
プロパティのいずれかがNULL、または主キーをOracleDataAdapter
のSelectCommand
プロパティから取得できない場合。
このメソッドでは、OracleDataAdapter
でアプリケーションがUpdate()
を呼び出すときにデータベース上で更新を実行するSQL文(CommandText
)を含んでいる、自動生成されたOracleCommand
オブジェクトを取得します。
宣言
// C# public OracleCommand GetUpdateCommand(bool useColumnsForParameterNames);
パラメータ
useColumnsForParameterNames
trueの場合、列内に一致するパラメータ名が、可能であれば生成されます。falseの場合は、パラメータが位置でバインドされます。
戻り値
OracleCommand
。
例外
ObjectDisposedException
- OracleCommandBuilder
オブジェクトはすでに処理されています。
InvalidOperationException
- SelectCommand
またはDataAdapter
プロパティのいずれかがNULL、または主キーをOracleDataAdapter
のSelectCommand
プロパティから取得できない場合。
備考
ブール値がtrue
の場合、列内に一致するパラメータ名が、可能であれば生成されます。false
の場合は、パラメータが位置でバインドされます。
適切にエスケープされた識別子に引用を組み込んで、指定された非引用識別子の正しい引用形式を戻します。
宣言
// C#
public override string QuoteIdentifier(string unquotedIdentifier);
パラメータ
UnquotedIdentifier
非引用識別子文字列。
戻り値
識別子の引用バージョン。識別子内の埋込み引用は適切にエスケープされています。
例外
ArgumentNullException
- 入力パラメータはNullです。
備考
このメソッドは、OracleConnection
またはOracleCommand
オブジェクトのいずれからも独立しています。
例
// C# using System; using System.Data; using System.Data.Common; using Oracle.DataAccess.Client; class QuoteIdentifierSample { static void Main(string[] args) { OracleCommandBuilder builder = new OracleCommandBuilder(); string quoteIdentifier = builder.QuoteIdentifier("US\"ER"); //quoteIdentifier for "US\"ER" is (\"US\"\"ER\") Console.WriteLine("quoteIdentifier is {0}" , quoteIdentifier); } }
このメソッドでは、INSERT
、UPDATE
またはDELETE
文の生成に使用されるデータベース・スキーマ情報をリフレッシュします。
宣言
// C# public override void RefreshSchema();
備考
OracleDataAdapter
オブジェクトのSelectCommand
値が変更されると、常にアプリケーションによってRefreshSchema
が呼び出されます。
このメソッドは、引用の目的で識別子に埋め込まれたエスケープ表記をいずれも削除し、指定された引用識別子の正しい非引用形式を戻します。
宣言
// C#
public override string UnquoteIdentifier(string quotedIdentifier);
パラメータ
quotedIdentifier
引用されている文字列識別子。
戻り値
埋め込まれた引用エスケープ表記がいずれも削除済の非引用識別子。
例外
ArgumentNullException
- 入力パラメータはNullです。
ArgumentException
- 入力パラメータは空です。
備考
このメソッドは、OracleConnection
またはOracleCommand
オブジェクトのいずれからも独立しています。
例
// C# using System; using System.Data; using System.Data.Common; using Oracle.DataAccess.Client; class UnQuoteIdentifierSample { static void Main(string[] args) { //create an OracleCommandBuilder object. OracleCommandBuilder builder = new OracleCommandBuilder(); string identifier = "US\"ER"; Console.WriteLine("Identifier is {0}", identifier); // quote the identifier string quoteIdentifier = builder.QuoteIdentifier(identifier); //quoteIdentifier of "US\"ER" is (\"US\"\"ER\") Console.WriteLine("QuotedIdentifier is {0}" , quoteIdentifier); string unquoteIdentifier = builder.UnquoteIdentifier(quoteIdentifier); //And its unquoteIdentifier is US\"ER Console.WriteLine("UnquotedIdentifier is {0}" , unquoteIdentifier); } }