OracleConnection クラス
メモ : この名前空間、クラス、およびメンバは、.NET Framework Version 1.1 だけでサポートされています。
データベースへの開いた接続を表します。このクラスは継承できません。
この型のすべてのメンバの一覧については、OracleConnection メンバ を参照してください。
System.Object
System.MarshalByRefObject
System.ComponentModel.Component
System.Data.OracleClient.OracleConnection
NotInheritable Public Class OracleConnection
Inherits Component
Implements ICloneable, IDbConnection
[C#]
public sealed class OracleConnection : Component, ICloneable,
IDbConnection
[C++]
public __gc __sealed class OracleConnection : public Component,
ICloneable, IDbConnection
[JScript]
public class OracleConnection extends Component implements
ICloneable, IDbConnection
スレッドセーフ
この型の public static (Visual Basicでは Shared) のすべてのメンバは、マルチスレッド操作で安全に使用できます。インスタンスのメンバの場合は、スレッドセーフであるとは限りません。
解説
OracleConnection オブジェクトは、接続文字列を使用して作成した一意のデータベース接続を表します。クライアント/サーバー データベース システムでは、サーバーへのネットワーク接続に相当します。
OracleConnection オブジェクトが適用範囲外になる前に、必ず Close または Dispose を呼び出して、開いている OracleConnection オブジェクトを明示的に閉じる必要があります。これを実行しないと、このオブジェクトが使用していたネイティブ リソースの解放はガベージ コレクションが行うことになるため、リソースがすぐに解放されない可能性があります。たとえば、ガベージ コレクションによる削除を待っている接続が多数存在する場合に、 Maximum Connections 関連のエラーが発生する場合があります。 Close または Dispose を呼び出すことによって明示的に接続を閉じると、ネイティブ リソースをより効率的に使用でき、拡張性およびアプリケーション全体のパフォーマンスが向上します。
メモ パフォーマンスの高いアプリケーションを配置するには、必要に応じて接続プールを使用します。ただし、.NET Framework Data Provider for Oracle を使用する場合は、プロバイダが接続プールを自動的に管理するため、この機能を有効にする必要はありません。
OracleConnection オブジェクトのインスタンスを作成するアプリケーションは、宣言セキュリティまたは強制セキュリティの要求を設定することによって、直接的または間接的な呼び出し元すべてに対して、コードへの適切なアクセス許可を要求できます。 OracleConnection は、 OraclePermission オブジェクトを使用して、セキュリティ要求を作成します。ユーザーは、 OraclePermissionAttribute オブジェクトを使用して、コードに適切なアクセス許可が設定されているかどうかを確認できます。また、ユーザーおよび管理者は、Code Access Security Policy Tool (Caspol.exe) を使用して、コンピュータ、ユーザー、エンタープライズの各レベルでセキュリティ ポリシーを変更できます。詳細については、「 アプリケーションの保護 」を参照してください。
メモ .NET Framework データ プロバイダ (SQL Server、OLE DB、および ODBC) の他の Connection オブジェクトとは異なり、 OracleConnection は ConnectionTimeout プロパティをサポートしません。プロパティを使用して、または接続文字列で接続のタイムアウトを設定しても無効で、返される値は常に 0 です。また、 OracleConnection は、 Database プロパティや ChangeDatabase メソッドもサポートしていません。
使用例
[Visual Basic, C#, C++] OracleCommand と OracleConnection を作成する例を次に示します。 OracleConnection を開き、 OracleCommand.Connection プロパティとして設定します。次に、 ExecuteNonQuery を呼び出し、接続を閉じます。この例では、 ExecuteNonQuery に、接続文字列と SQL INSERT ステートメントのクエリ文字列が渡されます。
Public Sub InsertRow(myConnection As String)
' If the connection string is null, use a default.
If myConnection = "" Then
myConnection = "Data Source=Oracle8i;Integrated Security=yes"
End If
Dim myConn As New OracleConnection(myConnection)
Dim myInsertQuery As String = "INSERT INTO Dept (DeptNo, Dname, Loc) values (50, 'TECHNOLOGY', 'DENVER')"
Dim myOracleCommand As New OracleCommand(myInsertQuery)
myOracleCommand.Connection = myConn
myConn.Open()
myOracleCommand.ExecuteNonQuery()
myConn.Close()
End Sub
[C#]
public void InsertRow(string myConnection)
{
// If the connection string is null, use a default.
if(myConnection == "")
{
myConnection = "Data Source=Oracle8i;Integrated Security=yes";
}
OracleConnection myConn = new OracleConnection(myConnection);
string myInsertQuery = "INSERT INTO Dept (DeptNo, Dname, Loc) values (50, 'TECHNOLOGY', 'DENVER')";
OracleCommand myOracleCommand = new OracleCommand(myInsertQuery);
myOracleCommand.Connection = myConn;
myConn.Open();
myOracleCommand.ExecuteNonQuery();
myConn.Close();
}
[C++]
public:
void InsertRow(String* myConnection)
{
// If the connection string is null, use a default.
if(myConnection->Equals(S""))
{
myConnection = S"Data Source=Oracle8i;Integrated Security=yes";
}
OracleConnection* myConn = new OracleConnection(myConnection);
String* myInsertQuery = S"INSERT INTO Dept (DeptNo, Dname, Loc) values (50, 'TECHNOLOGY', 'DENVER')";
OracleCommand* myOracleCommand = new OracleCommand(myInsertQuery);
myOracleCommand->Connection = myConn;
myConn->Open();
myOracleCommand->ExecuteNonQuery();
myConn->Close();
}
[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン をクリックします。
必要条件
名前空間: System.Data.OracleClient
プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ
アセンブリ: System.Data.Oracleclient (System.Data.Oracleclient.dll 内)
参照
OracleConnection メンバ | System.Data.OracleClient 名前空間 | OracleDataAdapter | OracleCommand