OracleConnection-Klasse
Stellt eine offene Verbindung mit einer Datenbank dar. Die Klasse kann nicht geerbt werden.
Namespace: System.Data.OracleClient
Assembly: System.Data.OracleClient (in system.data.oracleclient.dll)
Syntax
'Declaration
Public NotInheritable Class OracleConnection
Inherits DbConnection
Implements ICloneable
'Usage
Dim instance As OracleConnection
public sealed class OracleConnection : DbConnection, ICloneable
public ref class OracleConnection sealed : public DbConnection, ICloneable
public final class OracleConnection extends DbConnection implements ICloneable
public final class OracleConnection extends DbConnection implements ICloneable
Hinweise
Ein OracleConnection-Objekt stellt eine eindeutige Verbindung mit einer Oracle-Datenbank dar. Bei Client-/Server-Datenbanksystemen entspricht dies einer Netzwerkverbindung mit dem Server.
Anwendungen, die eine Instanz des OracleConnection-Objekts erstellen, können deklarative oder imperative Sicherheitsanforderungen festlegen, für die alle direkten und indirekten Aufrufer über die entsprechende Berechtigung für den Code verfügen müssen. Die OracleConnection erstellt Sicherheitsanforderungen mithilfe des OraclePermission-Objekts. Benutzer können mit dem OraclePermissionAttribute-Objekt prüfen, ob ihr Code über die entsprechenden Berechtigungen verfügt. Benutzer und Administratoren können mithilfe des Sicherheitsrichtlinientools für den Codezugriff (Caspol.exe) auch Sicherheitsrichtlinien auf der Computer-, Benutzer- und Organisationsebene ändern. Weitere Informationen finden Sie unter Sicherheit in .NET Framework.
Hinweis
Im Gegensatz zum Connection-Objekt bei anderen .NET Framework-Datenanbietern (SQL Server, OLE DB und ODBC) unterstützt die OracleConnection keine ConnectionTimeout-Eigenschaft. Das Festlegen eines Timeouts für eine Verbindung als eine Eigenschaft oder in der Verbindungszeichenfolge hat keine Auswirkungen, und der zurückgegebene Wert ist immer 0 (null). Die OracleConnection unterstützt außerdem keine Database-Eigenschaft oder ChangeDatabase-Methode.
OracleConnection-Objekte müssen immer explizit durch Aufrufen von Close geschlossen werden, bevor das OracleConnection-Objekt den Gültigkeitsbereich verlässt, da die Garbage Collection diese möglicherweise nicht sofort freigibt. Durch solche Verzögerungen können Fehler verursacht werden, wenn die Höchstanzahl der Verbindungen erreicht ist, während mehrere Verbindungen auf ihr Löschen durch den Garbage Collector warten. Im Gegensatz dazu werden systemeigene Ressourcen durch Aufrufen von Close effizienter ausgenutzt werden. Auf diese Weise werden die Skalierbarkeit und die Gesamtleistung der Anwendung verbessert.
Hinweis
Für das Bereitstellen von Anwendungen mit hoher Leistung ist häufig der Einsatz von Verbindungspooling erforderlich. Wenn Sie jedoch den .NET Framework-Datenprovider für Oracle verwenden, brauchen Sie das Verbindungspooling nicht zu aktivieren, da dieses vom Provider automatisch verwaltet wird.
Beispiel
Im folgenden Beispiel werden ein OracleCommand und eine OracleConnection erstellt. Die OracleConnection wird geöffnet und als OracleCommand.Connection-Eigenschaft festgelegt. Anschließend wird ExecuteNonQuery aufgerufen, und die Verbindung wird geschlossen. Zu diesem Zweck wird ExecuteNonQuery eine Verbindungszeichenfolge und eine Abfragezeichenfolge übergeben, die eine SQL-INSERT-Anweisung ist.
Public Sub InsertRow(ByVal connectionString As String)
Dim queryString As String = _
"INSERT INTO Dept (DeptNo, Dname, Loc) values (50, 'TECHNOLOGY', 'DENVER')"
Using connection As New OracleConnection(connectionString)
Dim command As New OracleCommand(queryString)
command.Connection = connection
Try
connection.Open()
command.ExecuteNonQuery()
Catch ex As Exception
Console.WriteLine(ex.Message)
End Try
End Using
End Sub
public void InsertRow(string connectionString)
{
string queryString =
"INSERT INTO Dept (DeptNo, Dname, Loc) values (50, 'TECHNOLOGY', 'DENVER')";
using (OracleConnection connection = new OracleConnection(connectionString))
{
OracleCommand command = new OracleCommand(queryString);
command.Connection = connection;
try
{
connection.Open();
command.ExecuteNonQuery();
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
}
}
using System;
using System.Data;
using System.Data.OracleClient;
class Class1
{
static void Main()
{
}
public void InsertRow(string connectionString)
{
string queryString =
"INSERT INTO Dept (DeptNo, Dname, Loc) values (50, 'TECHNOLOGY', 'DENVER')";
using (OracleConnection connection = new OracleConnection(connectionString))
{
OracleCommand command = new OracleCommand(queryString);
command.Connection = connection;
try
{
connection.Open();
command.ExecuteNonQuery();
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
}
}
Vererbungshierarchie
System.Object
System.MarshalByRefObject
System.ComponentModel.Component
System.Data.Common.DbConnection
System.Data.OracleClient.OracleConnection
Threadsicherheit
Alle öffentlichen statischen (Shared in Visual Basic) Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht gewährleistet.
Plattformen
Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.
Versionsinformationen
.NET Framework
Unterstützt in: 2.0, 1.1
Siehe auch
Referenz
OracleConnection-Member
System.Data.OracleClient-Namespace
OracleDataAdapter
OracleCommand-Klasse