Mit Oracle Call Interface auf Oracle Database zugreifen
Wenn Sie Anwendungen verwenden, die mit Oracle Call Interface (OCI) entwickelt wurden, können Sie Essbase-Laderegeln mit einer OCI-Verbindungszeichenfolge oder einem Net Service-Namen, der in einer tnsnames.ora-Konfigurationsdatei auf dem Essbase-Server definiert ist, mit Oracle Database verbinden.
Regeleigenschaften mit Oracle Call Interface-Verbindungszeichenfolge
So verbinden Sie eine Essbase-Laderegel mit einer OCI-Verbindungszeichenfolge mit Oracle Database:
-
Öffnen Sie in der Essbase-Weboberfläche eine vorhandene Regel, oder erstellen Sie eine neue Regel (siehe Zugriffs- und Bearbeitungsregeln, Neue Dimensionserstellungsregel erstellen oder Neue Dataload-Regel erstellen).
-
Klicken Sie auf Quelleigenschaften.

-
Klicken Sie auf SQL Properties.
-
Wählen Sie unter Eigenschaften die Option Oracle Call Interface (OCI) aus.
-
Geben Sie im Feld Server die Oracle Database-Verbindungszeichenfolge im Format
<host>:<port>/<service_name>ein. -
Geben Sie im Feld Abfrage eine SQL-Abfrage ein, die auf die Daten zugreift, die Sie von Oracle Database benötigen.
-
Geben Sie in den Feldern Benutzername und Kennwort die Zugangsdaten an, die für den Zugriff auf das Oracle Database-Schema erforderlich sind. Diese Informationen werden für die Vorschau von Daten verwendet, aber nicht in der Regel gespeichert.

-
Klicken Sie auf Vorschau, um sicherzustellen, dass die Regel eine Verbindung herstellen und Daten abrufen kann. Speichern und schließen Sie dann die Regel.
Regel mit vordefinierter Oracle Call Interface-Datei in Konfigurationsdatei laden
So verbinden Sie eine Essbase-Laderegel mit Oracle Database mit einem net_service_name, der in einer Konfigurationsdatei auf dem Essbase-Server definiert ist:
-
Erstellen Sie auf dem Essbase-Server eine Konfigurationsdatei (z.B.
tnsnames.ora) in<Oracle Home>/network/admin.Wenn die Konfigurationsdatei bereits vorhanden ist, stellen Sie sicher, dass sie einen gültigen Eintrag für die Verbindung mit Oracle Database über Oracle Call Interface (OCI) enthält. Andernfalls konfigurieren Sie es jetzt. Im folgenden Beispiel gilt:
OCISQL = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = oraclehost.example.com)(PORT = 1521)) ) (CONNECT_DATA = (service_name = orcl.example.com) (SERVER = DEDICATED) ) )- Der net_service_name ist
OCISQL. Notieren Sie sich diesen Namen, den Sie für die nächsten Schritte benötigen. - Der Host ist
oraclehost.example.com. - Der Port ist
1521. - Der Service-Name lautet
orcl.example.com.
- Der net_service_name ist
-
Öffnen Sie in der Essbase-Weboberfläche eine vorhandene Dataload- oder Dimensionserstellungsregel, oder erstellen Sie eine neue Regel (siehe Zugriffs- und Bearbeitungsregeln, Neue Dimensionserstellungsregel erstellen oder Neue Dataload-Regel erstellen).
-
Klicken Sie auf Quelleigenschaften.

-
Klicken Sie auf SQL Properties.
-
Wählen Sie unter Eigenschaften die Option Oracle Call Interface (OCI) aus.
-
Geben Sie im Feld Server den net_service_name ein, der in der Konfigurationsdatei
tnsnames.oraverwendet wird. Geben Sie basierend auf dem Beispiel in Schritt 1OCISQLein. -
Geben Sie im Feld Abfrage eine SQL-Abfrage ein, die auf die Daten zugreift, die Sie von Oracle Database benötigen.
-
Geben Sie in den Feldern Benutzername und Kennwort die Zugangsdaten an, die für den Zugriff auf das Oracle Database-Schema erforderlich sind. Diese Informationen werden für die Vorschau von Daten verwendet, aber nicht in der Regel gespeichert.

-
Klicken Sie auf Vorschau, um sicherzustellen, dass die Regel eine Verbindung herstellen und Daten abrufen kann. Speichern und schließen Sie dann die Regel.
Fehlerbehebung für Konnektivität
Unter Windows kann die Vorschau von Daten oder die Ausführung einer Dimensionserstellung oder eines Dataloads mit einer Regel, die eine Oracle Call Interface-(OCI-)Verbindungszeichenfolge verwendet, mit der folgenden Fehlermeldung fehlschlagen:
Attempt to connect to OCI failed. [ORA-12638: Credential retrieval failed].Die Ursache dieses Problems ist, dass der Oracle Database-Server der Version 19c und der 19c-Client (in diesem Fall ist der Client, auf dem Essbase Server installiert ist) keine Einstellung haben oder die folgende Einstellung in tnsnames.ora (oder sqlnet.ora) konfiguriert ist: SQLNET.AUTHENTICATION_SERVICES=(NTS)
Die Lösung besteht darin, SQLNET.AUTHENTICATION_SERVICES=(NONE) auf dem Essbase Server-Rechner zu konfigurieren.
-
Suchen Sie in
<Oracle Home>/network/admindie Konfigurationsdatei. -
Öffnen Sie die Datei, und fügen Sie
SQLNET.AUTHENTICATION_SERVICES=(NONE)hinzu. -
Starten Sie die Essbase-Anwendung neu.
Hinweis:
Informationen zur Verwendung finden Sie in der SQLNET.AUTHENTICATION_SERVICES-Dokumentation für Oracle Database 19c.