Rubrique précédente: Adaptateurs SQLRubrique suivante: Chaîne de connexion de l'adaptateur SQL


Exemple de fichier de configuration de l'adaptateur SQL

Soit une base de données MS Access (.mdb) contenant la table suivante :

Exemple de fichier de configuration de l'adaptateur SQL

La seule différence entre les fichiers de configuration de l'adaptateur SQL et de l'adaptateur de fichier réside dans la section DatasourceInterface.

La section DatasourceInterface d'un adaptateur de fichier stocke la collection Files, dans laquelle le fichier de l'adaptateur SQL contient ConnectionString et QueryCollection.

La différence principale entre les deux fichiers de configuration réside dans la méthode d'extraction et d'analyse, le reste des fichiers est identique.

L'interface SQL définit la connexion à la base de données et les requêtes utilisées pour récupérer les données.

Les détails sont les suivants :

Remarque : La section est définie d'après la base de données de la source de données susmentionnée.

Elément de chaîne de connexion

ConnectionString : Chaîne de connexion pour l'accès à la source de la base de données.

Vous pouvez définir ConnectionString dans l'élément DataSourceInterface et/ou dans les éléments de la requête. La définition de ConnectionString dans l'élément DataSourceInterface est la définition par défaut, et elle est utilisée uniquement dans une requête sans définition de ConnectionString. Cela permet à l'adaptateur se connecter à plusieurs bases de données dans lesquelles chaque requête peut avoir sa propre chaîne de connexion. Pour plus de détails sur le mécanisme de chaîne de connexion, consultez la section suivante.

Section Ensemble de requêtes du fichier de configuration

Query : Spécifie les attributs de la requête.

Voici un fichier de configuration complet en XML :

<?xml version="1.0" encoding="utf-8"?>
<AdapterConfiguration>
  <General MajorVersion="3" MinorVersion="0" RunOnce="yes" LogDebugMode="yes" ConsoleDebugMode="yes" WorkingDirectoryName="d:\Oblicore\Training Kit\Exercises\Adapters\SQL Adapters\Ex1\Solution">
      <DataSourceDifferenceFromUTC DefaultOffset="1" TimeFormat="%Y/%m/%d-%H:%M:%S"/>
   </General>
   <OblicoreInterface Mode="online">
      <OnlineInterface Port="2000" SecurityLevel="none"/>
   </OblicoreInterface>
   <DataSourceInterface>
      <ConnectionString>

          Driver={Microsoft Access Driver (*.mdb)};Dbq=d:\Oblicore\Training Kit\Exercises\Adapters\SQL Adapters\Ex1\db1.mdb;

      </ConnectionString>
      <QueryCollection>
         <Query QueryName="Query" InputFormat="InputFormat" SleepTime="5">
            <SelectStatement AutoCompleteQuery="yes">

               select time,server,availability from t_availability

          </SelectStatement>
            <QueryKeyFields>
               <KeyField Name="time" Sort="asc" ValueLeftWrapper="#" ValueRightWrapper="#"/>
               <KeyField Name="server" Sort="asc"/>
               <SelectInitialValues>

                     select 'AAA','1/1/1970'

               </SelectInitialValues>
            </QueryKeyFields>
         </Query>
      </QueryCollection>
   </DataSourceInterface>
   <InputFormatCollection>
      <InputFormat InputFormatName="InputFormat">
         <InputFormatFields>
            <InputFormatField Name="timestamp" Type="time" TimeFormat="%m/%d/%Y %I:%M:%S %p"/>
            <InputFormatField Name="server" Type="string"/>
            <InputFormatField Name="status" Type="integer"/>
         </InputFormatFields>
         <TranslatorSwitch DefaultTranslator="Translator"/>
      </InputFormat>
   </InputFormatCollection>
   <TranslatorCollection>
      <Translator TranslatorName="Translator">
         <TranslatorFields>
            <TranslatorField Name="ResourceId" SourceType="table" SourceName="ResourceTable"/>
            <TranslatorField Name="EventTypeId" SourceType="constant" ConstantValue="1500"/>
            <TranslatorField Name="Timestamp" SourceType="field" SourceName="timestamp"/>
            <TranslatorField Name="Value" SourceType="field" SourceName="status"/>
         </TranslatorFields>
      </Translator>
   </TranslatorCollection>
   <TranslationTableCollection LoadingMode="remote">
      <TranslationTable Name="ResourceTable" DestinationType="resource">
         <TranslationField>server</TranslationField>
      </TranslationTable>
   </TranslationTableCollection>
</AdapterConfiguration>