Excel per VBA Daten aus Oracle DB auslesen

CuNoah

Cadet 4th Year
Registriert
Aug. 2009
Beiträge
84
Hallo zusammen,

wenn man über VBA Daten aus einer Oracle Datenbank auslesen möchte, welche "Technik" ist da aktuell zu Empfehlen? So ganz allgemein gefragt. Hab schon viel gesucht, bin mir aber nicht sicher was hier am ehesten zu empfehlen ist. Geht mir erstmal darum zu verstehen, wie sich ODBC, ADO oder OLE DB unterscheiden.

Vielen Dank.
 
Nutze dazu die ADO-Objekt.
Damit Dir diese Klassen bzw. Objekte für die Programmierung zur Verfügung stehen, musst Du den Verweis auf die Typen-Bibliothek im VBA-Editor von Excel aktivieren. Öffne dazu im VBA-Editor von EXCEL unter "Extras/Verweise..." das Fenster und aktiviere dort dann eines der "Microsoft ActiveX Data Objects 2.8 Library" Verweise. Es kann auch 2.7 oder 2.6 sein. Je nachdem welche schon installiert sind. Wenn das erledigt ist, kannst Du im Code die Objekte zur DB-Anbindung nutzen:

Dim ADOCon as ADOB.Connection
Dim ADORec as adodb.Recordset

Set ADOCon = new ADODB.Connection
Set ADORec = new ADODB.Recordset


Wenn Du die Objekte erstellt hast dann musst Du zunächst erste einmal eine Datenbankverbindung zum Oracle Server aufbauen. Der Aufbau erfolgt über einen sogenannten CONNECTION-STRING. Wie dieser lauten muss kannst Du über folgende Seite ermitteln (suche nach der OLE-DB Variante):

https://www.connectionstrings.com/oracle-provider-for-ole-db-oraoledb/

Danach kannst Du mit dem Recordset-Objekt arbeiten, der über das ADOCon-Objekt gefüllt wird.
Hier musst Du natürlich jetzt auch etwas selber recherchieren und das Weitere erarbeiten. Ich denke mal fürs Erste sollte das reichen damit Du eine Idee und einen ersten Ansatz hast.

Wichtiger Hinweis: Zum Schluss musst die Objekte gegebenenfalls schließen und wieder zerstören:

Err.clear
ADOREC.close
Err.clear
Set ADOREC = Nothing


Err.clear
ADOCON.CLOSE
Err.clear
Set ADOCon = Nothing
Ergänzung ()

Hinweis noch: Wenn du in Excel etwas programmierst und es anderen weitergeben willst, die auf den Oracle Server zugreifen wollen MÜSSEN die Oracle eigenen OLE-DB Treiber installiert sein. Sonst scheitert der Zugriff auf die Datenbank. Also: Auf jeder Maschine, die mit Deiner Excel-Mappe auf die Oracle-DB zugreifen will müssen die OLE-DB-Treiber von Oracle installiert sein.
 

Anhänge

  • Excel_ADO_Verweis.png
    Excel_ADO_Verweis.png
    16,7 KB · Aufrufe: 374
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: CuNoah
Vielen Dank, das hilft mir sehr weiter :)

Wünsche schöne Feiertage
 
Zurück
Oben