Parallele Ausführung in ADO.NET
Die parallele Ausführung in .NET Framework ist die Fähigkeit, eine Anwendung auf einem Computer auszuführen, auf dem mehrere Versionen von .NET Framework installiert sind, und dabei ausschließlich die Version zu verwenden, für die die Anwendung kompiliert wurde. Ausführliche Informationen zum Konfigurieren der parallelen Ausführung finden Sie unter Parallele Ausführung.
Eine Anwendung, die für die Verwendung einer Version von .NET Framework kompiliert wurde, kann unter einer anderen Version von .NET Framework ausgeführt werden. Wir empfehlen jedoch, für jede installierte Version von .NET Framework eine eigene Version der Anwendung zu kompilieren und diese separat auszuführen. Bei beiden Szenarien sollten Sie die Änderungen in ADO.NET zwischen den Versionen berücksichtigen, die die Aufwärts- und Abwärtskompatibilität Ihrer Anwendung beeinträchtigen können.
Aufwärts- und Abwärtskompatibilität
Aufwärtskompatibilität bedeutet, dass eine Anwendung mit einer früheren Version von .NET Framework kompiliert werden kann, ohne dass sich dies negativ auf ihre Ausführbarkeit unter einer späteren Version von .NET Framework auswirkt. Der für .NET Framework 1.1 geschriebene ADO.NET-Code ist aufwärtskompatibel mit höheren Versionen.
Abwärtskompatibilität bedeutet, dass eine Anwendung für eine neuere Version von .NET Framework kompiliert wird, aber ohne Beeinträchtigung der Funktionalität weiterhin auch unter älteren Versionen von .NET Framework ausgeführt werden kann. Dies gilt natürlich nicht für Funktionen, die erst in einer neuen Version von .NET Framework eingeführt wurden.
Der .NET Framework-Datenanbieter für ODBC
Der .NET Framework-Datenanbieter für ODBC (System.Data.Odbc) gehört seit Version 1.1 zum Lieferumfang von .NET Framework.
Wenn Sie eine Anwendung haben, die für .NET Framework 1.0 entwickelt wurde und den ODBC-Datenanbieter verwendet, um eine Verbindung mit Ihrer Datenquelle herzustellen, und Sie diese Anwendung unter 1.1 oder höher ausführen möchten, müssen Sie den Namespace für den ODBC-Datenanbieter auf System.Data.Odbc ändern. Anschließend müssen Sie die Anwendung für die neuere Version von .NET Framework neu kompilieren.
Wenn Sie eine für .NET Framework 2.0 oder höher entwickelte Anwendung haben, die zum Herstellen einer Verbindung mit Ihrer Datenquelle den ODBC-Datenanbieter verwendet, und Sie diese Anwendung mit .NET Framework 1.0 ausführen möchten, müssen Sie den ODBC-Datenanbieter herunterladen und ihn auf dem .NET Framework 1.0-System installieren. Anschließend müssen Sie den Namespace für den ODBC-Datenanbieter in Microsoft.Data.Odbc ändern und die Anwendung für .NET Framework 1.0 neu kompilieren.
Der .NET Framework-Datenanbieter für Oracle
Der .NET Framework-Datenanbieter für Oracle (System.Data.OracleClient) gehört seit Version 1.1 zum Lieferumfang von .NET Framework.
Wenn Sie eine für .NET Framework 2.0 oder höher entwickelte Anwendung haben, die zum Herstellen einer Verbindung mit Ihrer Datenquelle den Datenanbieter verwendet, und Sie diese Anwendung mit .NET Framework 1.0 ausführen möchten, müssen Sie den Datenanbieter herunterladen und ihn auf dem .NET Framework 1.0-System installieren.
Codezugriffssicherheit
Ab .NET Framework Version 2.0 können alle .NET Framework-Datenanbieter in teilweise vertrauenswürdigen Zonen verwendet werden. Darüber hinaus wurde den .NET Framework-Datenanbietern in .NET Framework Version 1.1 ein neues Sicherheitsfeature hinzugefügt. Mithilfe dieser Funktion können Sie die Verbindungszeichenfolgen einschränken, die in einer bestimmten Sicherheitszone verwendet werden dürfen. Es kann auch die Verwendung leerer Kennwörter für eine bestimmte Sicherheitszone deaktiviert werden. Weitere Informationen finden Sie unter Code Access Security and ADO.NET.
Da jede Installation von .NET Framework über eine eigene Datei „Security.config“ verfügt, treten bei Sicherheitseinstellungen keine Probleme bezüglich der Kompatibilität auf. Wenn die Anwendung jedoch von den zusätzlichen Sicherheitsfunktionen von dem in .NET Framework 1.1 oder höher enthaltenen ADO.NET abhängig ist, können Sie sie nicht an ein System mit Version 1.0 verteilen.
"SqlCommand"-Ausführung
In .NET Framework 1.1 und höher führt der ExecuteReader einen Befehl im Kontext der gespeicherten Prozedur sp_executesql nur dann aus, wenn der Befehl Parameter enthält. Dies sorgt für eine bessere Leistung. Dadurch verändern Befehle, die den Zustand der Verbindung betreffen und die zu einem Befehl ohne Parameter gehören, den Zustand der Verbindung für alle nachfolgenden, bei offener Verbindung ausgeführten Befehle.
Betrachten Sie den folgenden Batch von Befehlen, die in einem Aufruf an ExecuteReader ausgeführt werden.
SET NOCOUNT ON;
SELECT * FROM dbo.Customers;
NOCOUNT
bleibt für alle nachfolgenden Befehle, die bei offener Verbindung ausgeführt werden, auf ON
eingestellt.