Options de configuration SQL spéciales

Configurez esssql.cfg sur le domaine Essbase lorsque vous souhaitez vous connecter à une base de données à l'aide de pilotes ODBC non inclus par Oracle avec Essbase, ou lorsque vous souhaitez modifier les paramètres par défaut de l'un des pilotes distribués avec Essbase.

Cas d'emploi

Un cas d'utilisation nécessitant une modification des paramètres par défaut est lorsque vous devez activer les chargements de données SQL multithread (qui ne sont pas les mêmes que les chargements de données parallèles) à l'aide d'un pilote quelconque (que ce soit JDBC, ODBC, inclus dans Essbase ou non inclus dans Essbase). Par exemple, lorsque vous chargez des données SQL dans des cubes en mode "aggregate storage", vous pouvez utiliser jusqu'à huit fichiers de règles pour charger des données en parallèle. Chaque fichier de règles doit inclure les mêmes informations d'authentification (nom utilisateur et mot de passe SQL).

Essbase initialise plusieurs tampons de chargement de données en mode "aggregate storage" temporaires (un pour chaque fichier de règles), où les valeurs de données sont triées et cumulées. Lorsque les données sont entièrement chargées dans les tampons de chargement de données, Essbase valide le contenu de tous les tampons dans le cube en une seule opération, ce qui est plus rapide que de valider les tampons individuellement.

Dans l'exemple MaxL suivant, les données SQL sont chargées à partir de deux fichiers de règles (rule1.rul et rule2.rul) :

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";

Modifier la configuration SQL

Pour activer les chargements de données multithread à partir de sources SQL externes comme dans le cas d'emploi ci-dessus, vous devez modifier les paramètres par défaut des pilotes distribués avec Essbase, en modifiant esssql.cfg. Sinon, les utilisateurs simultanés qui tentent de charger des données rencontreront une erreur telle que : ERROR - 1021025 - SQL driver [driverLibrary] for [DriverName] is in use already and does not allow multiple connections. Please try later.

Vous devez également ajouter des entrées à esssql.cfg lorsque vous souhaitez vous connecter à une base de données à l'aide de pilotes ODBC non inclus par Oracle avec Essbase.

Pour modifier les paramètres de configuration SQL,

  1. Localisez le fichier de configuration SQL sur le domaine Essbase :

    <DOMAIN HOME>/config/fmwconfig/essconfig/essbase/esssql.cfg
  2. Enregistrez une copie du fichier sous un autre nom. Par exemple, créez une copie nommée esssql_cfg.orig.

  3. Ouvrez esssql.cfg pour la modifier.

    Vous configurez ce fichier à l'aide de plusieurs blocs (un pour chaque pilote). Les blocs sont délimités par des crochets []. Vous pouvez copier et coller un bloc, et modifier les paramètres selon vos besoins pour chaque pilote.

  4. Apportez les modifications nécessaires en fonction de vos besoins et enregistrez le fichier. Reportez-vous aux optionsesssql.cfg ci-dessous. Pour activer les opérations multithread, par exemple, remplacez la valeur de SingleConnection par 0.

  5. Arrêtez et redémarrez le serveur Essbase, comme décrit dans Démarrer, arrêter et vérifier les serveurs.

Exemple de fichier esssql.cfg

L'exemple suivant esssql.cfg comporte 6 blocs de configuration. La première est présente par défaut, et les cinq suivantes sont ajoutées comme exemples de configuration de différentes sources pour activer les chargements de données SQL multithread.

[
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
]

Pour Teradata DriverName, vous pouvez utiliser TDATA ou TDATAODBC_SB64.

Options esssql.cfg

Le fichier de configuration esssql.cfg doit contenir au moins le nom du fichier de pilote (DriverName). Vous pouvez éventuellement inclure une description (description). Le fichier de configuration peut contenir des mots-clés supplémentaires, dont les valeurs sont 0 ou 1.

Pour trouver le nom de pilote sous Linux, consultez odbcinst.ini, situé dans
<Essbase Product Home>/modules/<driver class>/<driver version>
Le nom du pilote se trouve à la fin du chemin indiqué pour le pilote.

Par exemple, à partir de l'entrée suivante dans odbcinst.ini, nous savons que le nom du pilote est ARora (pas besoin d'inclure les informations de version, 28) :

Driver=/scratch/username/oracle_home/essbase/modules/oracle.essbase.datadirect.odbc/8.0.2/lib/ARora28.so

Pour trouver DriverName sous Windows, consultez l'utilitaire Administrateur de source de données ODBC 64 bits de Windows, dans l'onglet Pilotes.


Outil d'administration de source de données ODBC avec l'onglet Pilotes sélectionné. Oracle 8.0 Oracle Wire Protocol est mis en évidence. Son nom de fichier pilote est ARORA28.DLL.

Mot-clé Value Valeur = 0 Valeur = 1
Description (Facultatif) Description du pilote, entre guillemets. La valeur par défaut est "" S/O S/O
DriverName (Obligatoire) Nom du fichier pilote ; par exemple ARORA S/O S/O
UserId 0 ou 1 L'ID utilisateur n'est pas requis (par défaut) ID utilisateur requis
Mot de passe  0 ou 1 Mot de passe non requis (par défaut) Mot de passe obligatoire
Base de données 0 ou 1 Nom de base données non requis (valeur par défaut) Nom de base de données requis
Serveur 0 ou 1 Le nom de serveur n'est pas requis (par défaut) Nom de serveur requis
Application 0 ou 1 Nom de l'application non requis (par défaut) Nom d'application requis
Dictionnaire 0 ou 1 Nom de dictionnaire non requis (valeur par défaut) Nom de dictionnaire requis
Fichiers 0 ou 1 Le nom de fichier n'est pas requis (par défaut) Nom du fichier requis
Connexion unique 0 ou 1 Driver thread-safe -- Plusieurs connexions actives autorisées Pilote non sécurisé par le thread -- Une connexion active autorisée
IsQEDriver 0 ou 1 Le pilote n'est pas fourni avec Essbase (valeur par défaut) Le pilote est fourni avec Essbase
ConvertirUTF16enUTF8 0 ou 1 Aucune conversion des données UTF16 en UTF8 (il s'agit de la valeur par défaut). Convertir les données encodées en UTF16 d'une source de données Oracle BI en UTF8. Cette opération est requise sur UNIX pour les chargements de données SQL vers Essbase à partir d'OBI.

Les valeurs par défaut s'appliquent aux valeurs qui ne sont pas spécifiées. Les valeurs par défaut appliquées dans les fichiers de configuration diffèrent des valeurs par défaut Essbase qui s'appliquent si aucun fichier esssql.cfg n'existe.

Les mots-clés et les valeurs doivent être séparés par au moins un espace, et l'ensemble de mots-clés et de valeurs pour chaque pilote doit être placé entre crochets ( [ ] ).

Différents pilotes peuvent nécessiter des valeurs supplémentaires. Reportez-vous à la documentation du pilote pour obtenir des informations spécifiques.