Wenn Sie in einer.NET Framework-Anwendung ADO und ADO MD verwenden, empfangen Sie unerwartete Fehler

Veralteter Haftungsausschluss für KB-Inhalte

Dieser Artikel wurde für Produkte geschrieben, für die Microsoft keinen Support mehr anbietet. Deshalb wird dieser Artikel im vorliegenden Zustand bereitgestellt und nicht mehr aktualisiert.

Problembeschreibung

In einer Microsoft.NET Framework-Anwendung können Sie Microsoft ActiveX Data Objects (ADO) und Microsoft ActiveX Data Objects (Multidimensional) (ADO MD) über COM-Interop. Gelegentlich auftreten Fehler, Belastung,.NET Framework-Anwendung, die diese Technologie verwenden unerwartete Abstürze und andere gelegentlich Ausnahmen. Dies ist vor allem mit Multithreadanwendungen wie Microsoft ASP.NET ausführen.

Ursache

ADO und ADO MD vor der Veröffentlichung von.NET Framework entwickelt wurden und in einer nicht verwalteten Umgebung Component Object Model (COM) verwendet werden sollen. Obwohl der Zugriff auf diese Technologie über COM-Interop empfohlen nicht, dies zu tun. Dies beinhaltet die Verwendung der ADO primäre Interop-Assembly, die mit Microsoft Visual Studio .NET enthalten ist.

Da sie nicht auf diese Weise verwendet werden sollen, wurden ADO und ADO MD nicht stark in Interop-Szenarios getestet.

Problemlösung

Wir empfehlen Microsoft ADO.NET oder Microsoft ADOMD.NET anstelle von klassischen ADO oder ADO MD über Interop verwenden. Diese Technologien wurden speziell für den Datenzugriff in.NET Framework-Anwendung bereitzustellen und die Komplexität von COM-Interop nicht erforderlich.

Status

Es werden keine zukünftigen Updates oder verbessert diese Komponenten Probleme beheben, die nur in einer verwalteten.NET Framework-Anwendung. Im Allgemeinen wirkt keine zukünftigen Updates oder verbesserte ADO und ADO MD sich Wir weiterhin Probleme, die auftreten, die Verwendung von ADO und ADO MD in nicht verwalteten Programmen, einschließlich Microsoft Visual Basic 6.0, Microsoft Visual C++ und Microsoft ASP.

PROBLEMUMGEHUNG

Zur Umgehung dieses Problems in Microsoft ASP.NET ASPCompat -Attribut der @ Page -Direktive auf truefestgelegt. Wenn dieses Attribut auf truefestgelegt ist, kann die Seite in einem Singlethread-Apartment (STA)-Thread ausgeführt werden. Ausführen einer Seite in einem STA-Thread verringert die Wahrscheinlichkeit unerwarteter Multithread auf das ADO-Objekt oder ADO MD-Objekt.

Hinweis Verwenden Sie dies nur als vorübergehende Lösung während der Code ADO.NET oder ADOMD.NET migriert wird.

.NET Framework-Anwendung, mit dem klassischen ADO müssen die primäre Interop-Assembly für ADO verwenden, die in Visual Studio .NET enthalten ist. Diese Abhilfe kann einige Probleme verringern. Es kann allerdings nicht alle Probleme. Verwenden Sie diese Methode nicht als langfristige Lösung.

Referenzen

ADO.NET wird als Teil von Microsoft.NET Framework bereitgestellt. Weitere Informationen zu.NET Framework finden Sie auf der folgenden Microsoft Developer Network (MSDN)-Website:Die folgende Datei steht zum Download im Microsoft Download Center zur Verfügung:
Download ADOMD.NET-Paket jetzt downloaden. Zusätzliche Informationen zum download von Microsoft Support-Dateien klicken Sie auf die folgenden Artikelnummer der Microsoft Knowledge Base:
119591 so erhalten Sie Microsoft Support-Dateien
Microsoft hat diese Datei auf Viren überprüft. Microsoft hat die zum Zeitpunkt der Veröffentlichung der Datei aktuell verfügbare Virenerkennungssoftware verwendet. Die Datei wird auf sicheren Servern gespeichert, die nicht autorisierte Änderung der Datei verhindern.
Eigenschaften

Artikelnummer: 840667 – Letzte Überarbeitung: 16.01.2017 – Revision: 1

Feedback