OneDB - Configurations du chargeur
Vous devez utiliser une base de données OneDB sur le système d'exploitation pris en charge. Si vous utilisez une autre base de données, adaptez les instructions en conséquence.
Vous pouvez utiliser "dbload" (utilitaire IDS) comme utilitaire de chargement. Cet utilitaire est uniquement disponible avec l'installation IDS et pas avec l'installation ICSDK. Dès lors, pour profiter de la fonctionnalité de l'utilitaire de chargement, l'outil conseillé est "dbaccess".
La procédure ci-dessous décrit l'outil dbaccess pour utilitaire de chargement.
- Créez un modèle de fichier de contrôle du chargement.
- Créez un modèle de fichier de contrôle du chargement destiné à l'ajout d'enregistrements dans une base vide. Le modèle doit comporter les lignes suivantes.
Nom de l'exemple de modèle :
onedbLoad.ctrCONNECT TO 'hard_coded_db_name' USER '<USER>' USING '<PASSWORD>'; LOAD FROM '<DATAFILE>' DELIMITER '|' INSERT INTO <TABLENAME>;Remarque : Les jetons mentionnés dans l'exemple de fichier doivent être entre guillemets. Le nom de la base de données sur laquelle l'utilitaire est censé s'exécuter, qui doit être codé en dur, comme indiqué dans l'exemple. - Créez un script ou un exécutable pour démarrer l'utilitaire de chargement. Pour appeler l'utilitaire de chargement, Campaign utilise un script shell pour Unix (ou un exécutable sous Windows), identifié dans la propriété de configuration
Loadercommand. Vous pouvez définir soit un appel direct à l'exécutable de l'utilitaire de chargement de base de données, soit un appel à un script qui lance cet utilitaire.Exemple de script de shell pour Linux/AIX OS
onedbLoad.sh: #!/bin/sh cp $1 $Campaign_Home/partitions/partition1/tmp/controlfile.sql dbaccess - $Campaign_Home/partitions/partition1/tmp/controlfile.sqlExemple de fichier exécutable pour Windows
Cas 1 : si le serveur OneDB et le SDK client OneDB sont installés sur la même machine.
OneDBLoad.bat
set CTRL_FILE=%1 copy /Y "%CTRL_FILE%" "controlfile.sql" set INFORMIXDIR=<OneDB Directory> set REGMACHINE=\\<Server Hostname> set INFORMIXSERVER=<Server-name> set ONCONFIG=onconfig.<server-name> set INFORMIXSQLHOSTS=$OneDB_Software_Bundle\etc\sqlhosts.<server-name> set GL_USEGLU=1 set PATH=%INFORMIXDIR%\bin;%PATH% <INFORMIXDIR>/bin/dbaccess - controlfile.sqlSi le serveur OneDB et le SDK client OneDB sont installés sur différentes machines.
OneDBLoad.bat
set CTRL_FILE=%1 copy /Y "%CTRL_FILE%" "controlfile.sql" set INFORMIXDIR=<CSDK installation path> set INFORMIXSERVER=<IDS server name> set INFORMIXSQLHOSTS=Path to sqlhosts file which is <CSDK_HOME>/etc/sqlhosts set GL_USEGLU=1 set PATH=%INFORMIXDIR%\bin;%PATH% <INFORMIXDIR>/bin/dbaccess - controlfile.sqlRemarque : Si la configuration est Unicode, ajoutez les lignes supplémentaires suivantes avant la commandedbaccess.set LANG=en_US.utf8 set DB_LOCALE=en_US.utf8 set CLIENT_LOCALE=en_US.utf8 set SERVER_LOCALE=en_US.utf8
- Ouvrez le fichier C:\Windows\System32\drivers\etc\services et ajoutez une nouvelle entrée pour IDS, comme
IDS serviceName, qui est le nom d'un service dans une machine IDS sur laquelle IDS s'exécute, etIDS port number, qui est un numéro de port sur une machine IDS sur laquelle IDS écoute. Par exemple :<service-name>9091/tcp - Si besoin, apportez les modifications suivantes.
- Ouvrez le fichier <HCL_OneDB_Client_SDK>\etc\sqlhosts.%informixserver% copié.
- Copiez la ligne existante et remplacez le nom de la machine par son adresse IP.
- Définissez les propriétés de configuration du programme de chargement dans Campaign.
- Sélectionnez , puis sélectionnez Campaign|partitions|partition1|dataSources|<nom_source_données>
LoaderCommand: Chemin du script ou de l'exécutable chargé d'appeler l'utilitaire de chargement de base de données. Un script doit êtreCAMPAIGN_HOME/partition/partition[n].Valeur d'exemple :
<CAMPAIGN_HOME>\partitions\partition1\OneDBLoad.bat <CONTROLFILE>-
LoaderControlFileTemplate: Le modèle de fichier contrôle qui est configuré pour Campaign. Ce fichier doit également être au formatCAMPAIGN_HOME/partition/partition[n].Valeur d'exemple :
<CAMPAIGN_HOME>\partitions\partition1\OneDBLoad.ctr LoaderDelimiter: Délimiteur utilisé dans le modèle de fichier de contrôle du programme de chargement.Valeur d'exemple :
|LoaderDelimiterAtEnd: Il indique s'il convient de placer ou non le délimiteur après la valeur de la dernière colonne dans le fichier de contrôle.Valeur d'exemple :
True. Pour OneDB, il doit s'agir detrue.