Argomento precedente: Adapter SQL

Argomento successivo: Stringa di connessione dell'adapter SQL

Esempio di file di configurazione dell'adapter SQL

Specificato un database di Microsoft Access (.mdb) con la seguente tabella:

Esempio di configurazione dell'adapter SQL

L'unica differenza tra il file di configurazione dell'adapter SQL e il file di configurazione dell'adapter per file è la sezione DataSourceInterface.

La sezione DataSourceInterface in un adapter per file memorizza l'insieme dei file, mentre il file dell'adapter SQL presenta gli elementi ConnectionString e QueryCollection.

La principale differenza tra i due file di configurazione è il metodo di recupero e di analisi. Il resto del file è identico.

L'interfaccia SQL definisce la connessione al database e le query utilizzate per recuperare i dati.

Di seguito sono riportati i dettagli:

Nota: la sezione è definita secondo il database dell'origine dati precedente.

Elemento ConnectionString

ConnectionString: stringa di connessione per l'accesso al database di origine.

ConnectionString può essere definito nell'elemento DataSourceInterface e/o negli elementi Query. La definizione ConnectionString nell'elemento DataSourceInterface è l'impostazione predefinita e viene utilizzata solo in una query senza la definizione ConnectionString. In questo modo all'adapter viene consentita la connessione a più database in cui ogni query può disporre della propria stringa di connessione. Per ulteriori informazioni sul meccanismo della stringa di connessione, consultare la sezione seguente.

Sezione QueryCollection del file di configurazione

Query: indica gli attributi della query.

Di seguito viene riportato il layout completo di un file di configurazione 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>