Tema anterior: Adaptadores de SQLTema siguiente: Cadena de conexión del adaptador de SQL


Ejemplo de archivo de configuración del adaptador de SQL

Supongamos que tenemos una base de datos de MS Access (.mdb) con la tabla siguiente:

Ejemplo de configuración del adaptador de SQL

La única diferencia en el archivo de configuración entre un archivo de configuración de adaptador de SQL y un archivo de configuración de adaptador de archivos es la sección DatasourceInterface.

La sección DatasourceInterface en el adaptador de archivos almacena la recolección de archivos, mientras que el archivo del adaptador de SQL incluye ConnectionString y QueryCollection.

La diferencia principal entre los dos archivos de configuración reside en el método de recuperación y análisis. El resto del archivo es igual.

La interfaz de SQL define la conexión con la base de datos y las consultas que se utilizan para recuperar los datos.

Los detalles son los siguientes:

Nota: La definición de la sección se basa en la base de datos de origen de datos anterior.

Elemento ConnectionString

ConnectionString: cadena de conexión para acceder a la base de datos de origen.

ConnectionString se puede definir en el elemento DataSourceInterface y/o en los elementos Query. La definición de ConnectionString en el elemento DataSourceInterface es el valor predeterminado y se utiliza solamente en consultas donde no se ha definido ConnectionString. Esto permite al adaptador conectarse a varias bases de datos, donde cada consulta puede tener su propia cadena de conexión. Para obtener más información acerca del mecanismo de la cadena de conexión, consulte la sección siguiente.

Sección QueryCollection del archivo de configuración

Query: especifica los atributos de la consulta.

A continuación se incluye un archivo de configuración completo en formato 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>