Rubrique précédente: Eléments et attributsRubrique suivante: Créer un adaptateur à l'aide de l'interface utilisateur de CA Business Service Insight


Lecture des enregistrements d'une source de données de fichier

Tant qu'il existe une interface ODBC avec la source de données, il est possible de configurer un adaptateur SQL pour envoyer des requêtes sur des fichiers. Pour configurer l'adaptateur afin de lire plusieurs fichiers, il est nécessaire d'utiliser les éléments Segment dans l'élément ConnectionString. Vous trouverez un exemple dans la section précédente décrivant la chaîne de connexion.

Description de la façon dont l'adaptateur SQL fonctionne avec les fichiers :

  1. Dans chaque requête, l'adaptateur tente de lire le fichier jusqu'à ce qu'il ne puisse plus récupérer d'enregistrements.
  2. L'adaptateur passe alors au fichier suivant et essaye de le lire.
  3. Lorsqu'il n'y a plus de fichiers, l'adaptateur se met en attente pour cette requête en fonction de l'attribut SleepTime.

Fichier Schema.ini

Lorsqu'un pilote de texte ODBC est employé, le format du fichier texte est déterminé par le fichier d'informations de schéma (schema.ini). Ce fichier d'informations de schéma doit être placé dans le même répertoire que la source de données de texte.

Les fichiers Schema.ini sont créés à partir d'entrées, chaque entrée décrivant la structure d'un fichier texte unique. La première ligne de chaque entrée est le nom du fichier source de texte, entouré par des crochets.

Lorsque l'adaptateur fonctionne avec des fichiers qui ont été définis à l'aide de caractères génériques, le nom de fichier change constamment. Comme le nom dans le fichier schema.ini ne peut pas contenir de caractères génériques, l'adaptateur doit modifier le fichier schema.ini avant de se connecter à la base de données.

Il est par conséquent nécessaire d'ajouter une ligne d'indication avant la ligne d'entrée du fichier. Cette ligne d'indication contient le modèle de nom de l'élément de chaîne de connexion dans le fichier de configuration de l'adaptateur, entouré par des crochets. L'adaptateur remplace la ligne suivante par le nouveau nom de fichier entouré par des crochets.

Remarque : Le fichier schema.ini peut contenir plusieurs entrées. Il est de votre responsabilité d'ajouter les lignes à l'emplacement correct.

Exemple de fichier Schema.ini

[sqltes*.txt]
[sqltest2.txt]
ColNameHeader = False
CharacterSet = ANSI
Format = TabDelimited
Col1=id Char Width 30
Col2=idname Char Width 30
----------------------------------------
[report_200*.txt]
[report_2003_09.txt]
ColNameHeader = False
CharacterSet = ANSI
Format = TabDelimited
Col1=date Char Width 30
Col2=service Char Width 30
Col3=responseTime Char Width 30
----------------------------------------

Fichier DataSourceControl

Pour chaque requête, le fichier de contrôle de la source de données contient le modèle de nom de fichier et le nom du fichier d'entrée actuel pour poursuivre avec le même fichier au redémarrage de l'adaptateur.

Voici un exemple de fichier de contrôle au format XML :

<AdapterControl Save="end" LastSaveTime="2005/03/23 09:16:15">
   <Data>
      <QueryCollection>
         <Query QueryName="TroubleTickets (on D:\Data\Incidents*.xls)">
            <KeyField Name="INC_CLOSE_DATE">
               <LastValue>03/07/05 13:06:21</LastValue>
            </KeyField>
            <LastFileName>IncidentsMarch.xls</LastFileName>
         </Query>
      </QueryCollection>
   </Data>

Conservation des fichiers d'entrée

Lorsque l'adaptateur a fini de lire le fichier actuel, il poursuit la recherche dans le suivant. Le prochain fichier à lire est le premier fichier qui correspond au masque de nom et dont le nom est supérieur (dans l'ordre lexicographique) au nom du fichier précédent. L'adaptateur ne rouvre pas les fichiers précédents, même si de nouveaux enregistrements ont été ajoutés à ces derniers.

L'adaptateur utilise l'attribut InitialFileName uniquement lorsque ces deux attributs sont définis sur non et que le fichier de contrôle ne contient pas le dernier nom de fichier.

Vérification des requêtes

L'adaptateur vérifie la chaîne de connexion et la requête uniquement si le fichier défini existe. S'il est défini avec des caractères génériques, l'adaptateur le vérifie uniquement par rapport au premier fichier.

Des erreurs peuvent se produire lorsque l'adaptateur tente de lire un nouveau fichier. Dans ce cas, l'adaptateur s'arrête immédiatement si l'attribut critical est défini sur yes. S'il est défini sur no, l'adaptateur ne continue pas l'exécution de cette requête, mais il poursuit par les autres requêtes. L'adaptateur peut aussi quitter le fichier actuel et passer au fichier suivant.

Variables internes de l'adaptateur

Deux variables internes peuvent être utilisées dans le fichier de configuration pour faire référence au contexte actuel du nom de fichier. Ce sont :file_name et :file_name_no_ext, qui renvoient au nom du fichier actuel, respectivement avec ou sans l'extension de fichier.

Vous pouvez utiliser ces variables dans les éléments SelectStatement et SelectInitialValues, ainsi que dans l'attribut QueryKeyField\Function.

L'adaptateur remplace la variable par le nom de fichier dans les requêtes.

Par exemple :