ODBC Quelle hinzufügen sowie mit SQL Management Studio ORACLE Datenbank abfragen

(C) 107er BLOG

Wie füge ich bei Windows 10 eine ODBC Quelle für ORACLE hinzu, und wie kann man mit dem SQL Management Studio über Linked Server eine ORACLE Datenbank abfragen? Hier eine kurze Anleitung …

Vorbereitungen

Installation

Folgende Software wird benötigt, damit eine ODBC Verbindung, bzw mit dem SQL Management Studio über Linked Server, zu einer Oracle Datenbank  erstellt werden kann. Leider muss man einen Account bei ORACLE anlegen.

  • Installation Oracle Data Access Components (ODAC)
    (64-bit ODAC 12c Release 4 (12.1.0.2.4) for Windows x64)
  • Installation Instant Client Basic für Windows 64
    (Instant Client Package – Basic: All files required to run OCI, OCCI, and JDBC-OCI applications)

    • Kopieren der Dateien unter F:\[Installationspfad]\instanclient_12_1\
  • Installation Instant Client Package – ODBC
    (Instant Client Package – ODBC: Additional libraries for enabling ODBC applications)

    • Kopieren der Dateien unter F:\[Installationspfad]\instanclient_12_1\
    • CMD mit Administrator Rechten öffnen
    • odbc_install.exe aufrufen

Konfiguration

Damit die Konfigurationen über ORACLE Datenbankserver gefunden werden können, muss der Pfad in den Umgebungsvariablen mit der Variable TNS_ADMIN eingetragen werden. Wichtig dabei ist, es unter „Systemvariablen“ und NICHT unter „Benutzervariablen“ einzutragen!

Wie trage ich etwas in den Umgebungsvariablen ein?

  • mit rechte Maustaste auf das Windowssymbol (links unten in der Taskleiste) klicken
  • System
  • Erweiterte Systemeinstellungen
  • Umgebungsvariablen
  • Systemvariablen -> NEU

Hinzufügen des Parameters

Hinzufügen des Parameters TNS_Admin mit dem Pfad „F:\[Installationspfad]\app\client\Username\product\12.1.0\client_1\Network\Admin“.

Erstellen der Datei tnsnames.ora

Im Verzeichnis, dass unter TNS_ADMIN angegeben wurde, muss eine Datei „tnsnames.ora“ erstellt werden, mit folgendem Inhalt:

 ALIASNAME =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = myserver.mycompany.com)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = servicename)
    )
  )

Wobei „ALIASNAME“, „myserver.mycompany.com“ und „servicename“ angepasst gehören.

Desweiteren muss es noch die Datei sqlnet.ora geben, mit folgendem Inhalt:

# Every line that begins with # is a comment line
# You can modify the entry below for your own database.

# sqlnet.ora Network Configuration File

SQLNET.AUTHENTICATION_SERVICES= (NTS)
NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)

ODBC Quelle hinzufügen

  • ODBC-Datenquellen einrichten (64Bit) öffnen
  • Tab System-DNS
  • Hinzufügen
  • Auswählen von „Oracle in instantclient_12_1 „
  • Fertigstellen
  • Data Source Name: frei wählbar
  • Description: frei wählbar
  • TNS Service Name: Hier müssten die ALIAS Namen aus der Datei tnsnames.ora aufscheinen, und es muss eine Konfiguration ausgewählt werden.
  • User ID: Benutzername

Linked Server hinzufügen

Vorbereitungen

Unter Providers muss OraOLEDB.Oracle zu finden sein, …

und folgendes unter Eigenschaften geändert werden …

Linked Server erstellen

Page General

  • Linked Server: frei wählbar
  • Provider: Oracle Provider for OLE DB
  • Product Name: Oracle
  • Data Source: ALIASNAME
  • Provider String: ALIASNAME

Page Security

  • Auswählen von „Be made using this security context:“
  • Benutzername unter „Remote login“
  • Passwort unter „With password“ eingeben.

Fehlermeldungen

  • Eine Instanz der OLE DB-Anbieters „OraOLEDB.Oracle“ für den Verbindungserver „xxxxx“ kann nicht erstellt werden. Error 7302
    • Leider ist ein Neustart nötig.
  • Der OLE DB-Anbieter „OraOLEDB.Oravle“ für den Verbingsserver „xxxx“ aht die Meldung „ORA-01017:invalid username/password;logon denied“
    • Unter „Security“, „Be made using this security context“ auswählen und Remote „login“ und „With password“ mit Username und Passwort ausfüllen.

Quellen

Alle Angaben ohne Gewähr!

 

Einen Kommentar hinterlassen

Deine E-Mail-Adresse wird nicht veröffentlicht.


*


45 − = 37