Kommunikation zwischen .NET und OCI

.NET Framework-Anwendungen finden zunehmende Verbreitung, vor allem wegen der .NET-Unterstützung von Programmiersprachen wie Visual C++, Visual Basic und C# sowie von Umgebungen wie ASP.NET.

Der Zugriff auf Datenbanken von Programmiersprachen wie Visual C++, VB und C# erfolgt üblicherweise über mehrere Technologieschichten wie ODBC und ADO. Die Tatsache, dass es eine gemeinsame Schnittstelle für Datenbanken gibt, ist ein positiver Schritt in Richtung Unabhängigkeit der Anwendungen von bestimmten Datenbank-Implementierungen. Allerdings kann dies zulasten der Performance gehen und einige datenbankspezifische Funktionen außen vor lassen.

OCI (Oracle Call Interface) ist eine Low-Level-Schnittstelle zur Oracle-Datenbank, die für optimale Performance sorgt und sämtliche öffentlichen Datenbankfunktionen unterstützt. Allerdings wird diese Schnittstelle häufig ignoriert, wofür zwei Gründe verantwortlich sind: einmal die Syntax und dann das Vorurteil, dass OCI nur etwas für traditionelle C-Programmierer sei.

Einer der Vorteile des .NET Frameworks ist dessen Fähigkeit, Spezifikationen für DLL-Aufrufe (Dynamic Link Library) zu schreiben und dann den DLL-Eingangspunkt direkt aufzurufen. Oracle for Windows implementiert OCI als DLL (oci.dll). Daher kann eine .NET-Anwendung einen OCI-Aufruf einfach durch das Schreiben einer Spezifikation für den Eingangspunkt und den nachfolgenden Aufruf der Funktion durchführen. Seit Version 8 verfügt OCI über eine praktische, konsistente Schnittstelle, die auf Handles (Zeigern) basiert. Diese Zeiger können bei Funktionsaufrufen wie schlichte Integer-Werte behandelt werden.

Themenseiten: Anwendungsentwicklung, Software

Fanden Sie diesen Artikel nützlich?
Content Loading ...
Whitepaper

ZDNet für mobile Geräte
ZDNet-App für Android herunterladen Lesen Sie ZDNet-Artikel in Google Currents ZDNet-App für iOS

Artikel empfehlen:

Neueste Kommentare 

Noch keine Kommentare zu Kommunikation zwischen .NET und OCI

Kommentar hinzufügen

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *