Considere um banco de dados MS Access (.mdb) com a seguinte tabela:

A única diferença no arquivo de configuração em um arquivo de configuração do conector do SQL e o arquivo de configuração do conector é a seção DatasourceInterface.
A seção DatasourceInterface em um conector de arquivo armazena o conjunto de arquivos em que o arquivo do conector do SQL tem ConnectionString e QueryCollection.
A principal diferença entre os dois arquivos de configuração é o método de recuperação e análise. O restante do arquivo é igual.
A interface do SQL define a conexão com o banco de dados e as consultas usadas para recuperar os dados.
Os detalhes são:
Observação: a seção é definida com base no banco de fontes de dados acima.
ConnectionString: texto da conexão para acessar o banco de dados de origem.
ConnectionString pode ser definido no elemento DataSourceInterface e/ou nos elementos de consulta. A definição de ConnectionString no elemento DataSourceInterface é o padrão e é usada apenas em uma consulta sem uma definição de ConnectionString. Isso permite que o conector se conecte a vários bancos de dados, em que cada consulta pode ter seu próprio texto da conexão. Para obter mais detalhes sobre o mecanismo de texto da conexão, consulte a seção a seguir.
Query: especifica os atributos de consulta.
Observação: a ordem dos campos InputFormat deve corresponder à ordem dos campos selecionados da consulta.
Observação: é necessário inserir os campos chave de consulta como os primeiros valores selecionados na instrução.
Observação: campos "Data" geralmente exigem o uso de caracteres especiais para delimitar a data. Os caracteres necessários para identificar o campo como um campo de data dependem da fonte de dados. O caractere #, conforme mostrado na figura no início da seção, pode ser usado para ajustar o campo de valor no Excel. Outra fonte de dados, no entanto, pode exigir métodos diferentes. Consulte Especificações de configuração do conector para obter mais informações.
Exemplo de uma consulta (ODBC com base no Excel) que é compilada com AutoCompleteQuery="yes":
SELECT INC_CLOSE_DATE, INCIDENT_REF, Severity, `Resolve Time`, `Date Logged`, `Date Resolved` FROM `AllCalls$` WHERE INC_CLOSE_DATE>CDate('7/03/2005 13:06:21') order by INC_CLOSE_DATE
Essa instrução select deve ser executável no banco de dados de destino em que a consulta está em execução. Isso pode diferir entre as fontes e os drivers ODBC usados para se conectar a elas. Por exemplo, no Oracle é possível selecionar os valores na tabela especial "dupla" (selecionar "aaa", "1-jan-1970" da dupla), mas no Excel, basta selecionar os valores diretamente, sem uma tabela. (selecionar "aaa")
A seguir, há um arquivo de configuração completo com layout 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>
| Copyright © 2012 CA. Todos os direitos reservados. | Enviar email à CA Technologies sobre este tópico |