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.

  1. Créez un modèle de fichier de contrôle du chargement.
  2. 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.ctr

    CONNECT 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.
  3. 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.sql

    Exemple 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.sql 
    

    Si 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.sql 
    
    Remarque : Si la configuration est Unicode, ajoutez les lignes supplémentaires suivantes avant la commande dbaccess.
    set LANG=en_US.utf8
    		set DB_LOCALE=en_US.utf8
    		set CLIENT_LOCALE=en_US.utf8
    		set SERVER_LOCALE=en_US.utf8
Dans le cas 2 , les autres paramètres requis côté CSDK sont les suivants.
  • 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, et IDS 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 Paramètres > Configuration, 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 être CAMPAIGN_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 format CAMPAIGN_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 de true.

Remarque : La base de données OneDB doit être créée avec le code en_US.57372 ou en_US.utf8 NLS pour NON-ASCII.