Spezielle SQL-Konfigurationsoptionen
Konfigurieren Sie esssql.cfg in der Essbase-Domain, wenn Sie eine Verbindung zu einer Datenbank mit ODBC-Treibern herstellen möchten, die nicht von Oracle in Essbase enthalten sind, oder wenn Sie die Standardeinstellungen für einen der Treiber ändern möchten, die mit Essbase verteilt werden.
Anwendungsfall
Ein Anwendungsfall, der eine Änderung der Standardeinstellungen erfordert, ist, wenn Sie Multi-Threaded-SQL-Dataloads (die nicht mit parallelen Dataloads identisch sind) mit einem beliebigen Treiber aktivieren müssen (unabhängig davon, ob JDBC, ODBC, in Essbase enthalten oder nicht in Essbase enthalten ist). Beispiel: Beim Laden von SQL-Daten in Aggregate Storage-Cubes können Sie bis zu acht Regeldateien verwenden, um Daten parallel zu laden. Jede Regeldatei muss dieselben Authentifizierungsinformationen enthalten (SQL-Benutzername und -Kennwort).
Essbase initialisiert mehrere temporäre Dataload-Puffer für Aggregate Storage (einer für jede Regeldatei), bei denen Datenwerte sortiert und akkumuliert werden. Wenn die Daten vollständig in die Dataload-Puffer geladen sind, schreibt Essbase den Inhalt aller Puffer in einem Vorgang in den Cube fest. Dies ist schneller als das Festschreiben von Puffern einzeln.
Im folgenden MaxL-Beispiel werden SQL-Daten aus zwei Laderegeln (rule1.rul und rule2.rul) geladen:
import database AsoSamp.Basic data
connect as TBC identified by 'password'
using multiple rules_file 'rule1' , 'rule2'
to load_buffer_block starting with buffer_id 100
on error write to "error.txt";SQL-Konfiguration ändern
Um Multithread-Dataloads aus externen SQL-Quellen wie im obigen Anwendungsfall zu aktivieren, müssen Sie die Standardeinstellungen für die Treiber ändern, die mit Essbase verteilt werden, indem Sie esssql.cfg ändern. Andernfalls tritt bei gleichzeitigen Benutzern, die Daten laden, ein Fehler auf. Beispiel: ERROR - 1021025 - SQL driver [driverLibrary] for [DriverName] is in use already and does not allow multiple connections. Please try later.
Sie müssen auch Einträge zu esssql.cfg hinzufügen, wenn Sie eine Verbindung zu einer Datenbank mit ODBC-Treibern herstellen möchten, die nicht von Oracle in Essbase enthalten sind.
So ändern Sie die SQL-Konfigurationseinstellungen
-
Suchen Sie die SQL-Konfigurationsdatei in der Essbase-Domain:
<DOMAIN HOME>/config/fmwconfig/essconfig/essbase/esssql.cfg -
Speichern Sie eine Kopie der Datei unter einem anderen Namen. Erstellen Sie beispielsweise eine Kopie mit dem Namen
esssql_cfg.orig. -
Öffnen Sie
esssql.cfgzur Bearbeitung.Sie konfigurieren diese Datei mit mehreren Blöcken (einer für jeden Treiber). Blöcke werden durch eckige Klammern
[]gekennzeichnet. Sie können einen Block kopieren und einfügen und die Einstellungen nach Bedarf für jeden Treiber bearbeiten. -
Nehmen Sie die erforderlichen Änderungen vor, und speichern Sie die Datei. Siehe esssql.cfg Options unten. Um Vorgänge mit mehreren Threads zu aktivieren, ändern Sie beispielsweise den Wert von SingleConnection in 0.
-
Stoppen Sie den Essbase-Server, und starten Sie ihn neu, wie unter Server starten, stoppen und prüfen beschrieben.
Beispieldatei esssql.cfg
Das folgende Beispiel für esssql.cfg enthält 6 Konfigurationsblöcke. Die erste ist standardmäßig vorhanden, und die nächsten fünf werden als Beispiele für die Konfiguration verschiedener Quellen hinzugefügt, um Multi-Threaded-SQL-Dataloads zu ermöglichen.
[
Description "Oracle BI Server"
DriverName libnqsodbc
UserId 1
Password 1
Database 1
SingleConnection 0
IsQEDriver 0
ConvertUTF16toUTF8 1
]
[
Description "SQL Server"
DriverName SQLSRV
UserId 1
Password 1
Database 1
SingleConnection 0
IsQEDriver 0
]
[
Description "Oracle SQL Server Wire Protocol"
DriverName ARSQLS
UserId 1
Password 1
Database 1
SingleConnection 0
IsQEDriver 1
]
[
Description "Oracle DB2 Wire Protocol"
DriverName ARDB2
UserId 1
Password 1
Database 1
SingleConnection 0
IsQEDriver 1
]
[
Description "Oracle MySQL Wire Protocol"
DriverName ARMYSQL
UserId 1
Password 1
Database 1
SingleConnection 0
IsQEDriver 1
]
[
Description "Teradata"
DriverName TDATAODBC_SB64
UserId 1
Password 1
Database 1
SingleConnection 0
IsQEDriver 0
]Für den Teradata DriverName können Sie entweder TDATA oder TDATAODBC_SB64 verwenden.
esssql.cfg Optionen
Die Konfigurationsdatei esssql.cfg muss mindestens den Namen der Treiberdatei (DriverName) enthalten. Optional kann es eine Beschreibung (Beschreibung) enthalten. Die Konfigurationsdatei kann zusätzliche Schlüsselwörter enthalten, deren Werte 0 oder 1 sind.
odbcinst.ini. <Essbase Product Home>/modules/<driver class>/<driver version> Der Treibername befindet sich am Ende des für den Treiber angegebenen Pfads.Beispiel: Aus dem folgenden Eintrag in odbcinst.ini wissen wir, dass der Treibername ARora lautet (die Versionsinformationen müssen nicht 28 enthalten):
Driver=/scratch/username/oracle_home/essbase/modules/oracle.essbase.datadirect.odbc/8.0.2/lib/ARora28.soUm den DriverName unter Windows zu finden, suchen Sie im Windows 64-bit ODBC Data Source Administrator Dienstprogramm auf der Registerkarte Treiber.

| Schlüsselwort | Datum | Wert = 0 | Wert = 1 |
|---|---|---|---|
| Beschreibung | (Optional) Eine Beschreibung des Treibers in doppelten Anführungszeichen. Der Standardwert ist "". |
N/V | N/V |
| Treibername | (Erforderlich) Der Treiberdateiname, z.B. ARORA | N/V | N/V |
| UserId | 0 oder 1 | Benutzer-ID nicht erforderlich (Standard) | Benutzerkennung erforderlich |
| Kennwort | 0 oder 1 | Passwort nicht erforderlich (Standard) | Kennwort erforderlich |
| Datenbank | 0 oder 1 | Datenbankname nicht erforderlich (Standard) | Datenbankname erforderlich |
| Server | 0 oder 1 | Servername nicht erforderlich (Standard) | Servername erforderlich |
| Anwendung | 0 oder 1 | Anwendungsname nicht erforderlich (Standard) | Anwendungsname ist erforderlich |
| Dictionary | 0 oder 1 | Dictionary-Name nicht erforderlich (Standard) | Dictionary-Name erforderlich |
| Dateien hochladen | 0 oder 1 | Dateiname nicht erforderlich (Standard) | Dateiname erforderlich |
| SingleConnection | 0 oder 1 | Treiber-Thread-sicher -- Mehrere aktive Verbindungen zulässig | Treiber nicht thread-safe -- Eine aktive Verbindung ist zulässig |
| IsQEDriver | 0 oder 1 | Treiber wird nicht mit Essbase ausgeliefert (Standard) | Treiber wird mit Essbase versendet |
| KonvertierenUTF16zuUTF8 | 0 oder 1 | Keine Konvertierung von UTF16-Daten in UTF8 (Standard). | Konvertieren Sie UTF16-codierte Daten aus einer Oracle BI-Datenquelle in UTF8. Dies ist unter UNIX erforderlich, um SQL-Daten aus OBI in Essbase zu laden. |
Standardwerte gelten für Werte, die nicht angegeben sind. Die in Konfigurationsdateien angewendeten Standardwerte unterscheiden sich von den Essbase-Standardwerten, die angewendet werden, wenn keine esssql.cfg-Datei vorhanden ist.
Schlüsselwörter und Werte müssen durch mindestens ein Leerzeichen getrennt werden. Die Schlüsselwörter und Werte für jeden Treiber müssen in Klammern eingeschlossen sein ( [ ] ).
Verschiedene Treiber erfordern möglicherweise zusätzliche Werte. Spezifische Informationen finden Sie in der Treiberdokumentation.