前のトピック: SQL アダプタ次のトピック: SQL アダプタの接続文字列


SQL アダプタの設定ファイル例

以下のテーブルと MS Access(.mdb)データベースが与えられています。

SQL アダプタ設定の例

SQL アダプタの設定ファイルとファイル アダプタの設定ファイルの違いは、DatasourceInterface セクションのみです。

ファイル アダプタの DatasourceInterface セクションはファイル コレクションを格納しますが、SQL アダプタ ファイルには ConnectionString と QueryCollection があります。

2 つの設定ファイルの主な違いは、取得と解析メソッドにあります。 その他は同じです。

SQL インターフェースは、データベースへの接続、およびデータの取得に使用されるクエリを定義します。

詳細については以下のとおりです。

: このセクションでは、上記のデータ ソース データベースに基づいて定義します。

接続文字列エレメント

ConnectionString: ソース データベースにアクセスするための接続文字列。

ConnectionString は DataSourceInterface エレメントおよび(または)Query エレメントに定義できます。 DataSourceInterface エレメントの ConnectionString 定義はデフォルトであり、ConnectionString 定義がないクエリにのみ使用されます。 これにより、各クエリが独自の接続文字列を持つことができ、アダプタは複数のデータベースに接続することができます。 接続文字列のメカニズムの詳細については、以下のセクションを参照してください。

設定ファイルの QueryCollection セクション

Query: クエリ属性を指定します。

以下は 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>