Tópico anterior: Elementos e atributos

Próximo tópico: Criar um conector usando a interface com o usuário do CA Business Service Insight

Lendo registros de uma fonte de dados do arquivo

Desde que haja uma interface de ODBC para a fonte de dados, é possível configurar um conector do SQL para arquivos de consulta. Para configurar o conector para a leitura de vários arquivos, é necessário usar os elementos de segmento no elemento ConnectionString. Para encontrar um exemplo, consulte a seção anterior que descreve o texto da conexão.

O conector do SQL trabalha com os arquivos da seguinte maneira:

  1. Em cada consulta, o conector tenta ler o arquivo até que não seja mais possível recuperar outros registros.
  2. O conector, em seguida, passa para o próximo arquivo e tenta lê-lo.
  3. Quando não houver mais arquivos, o conector entrará no modo de suspensão para essa consulta de acordo com o atributo SleepTime.

Arquivo Schema.ini

Quando um driver ODBC de texto for usado, o formato do arquivo de texto será determinado pelo arquivo de informações do esquema (schema.ini). Esse arquivo de informações do esquema deve ser colocado no mesmo diretório que a fonte de dados de texto.

Arquivos Schema.ini são compostos de entradas, com cada entrada descrevendo a estrutura de um único arquivo de texto. A primeira linha em cada entrada é o nome do arquivo de origem de texto entre colchetes.

Quando o conector trabalha com arquivos que foram definidos usando caracteres curinga, o nome do arquivo muda constantemente. Como o nome no arquivo schema.ini não pode conter caracteres curinga, o conector deve alterar o arquivo schema.ini antes de se conectar ao banco de dados.

Por isso, é necessário adicionar uma linha indicadora antes da linha de entrada do arquivo. Essa linha indicadora contém o padrão de nome do elemento de texto da conexão no arquivo de configuração do conector, entre colchetes. O conector substitui a próxima linha pelo novo nome do arquivo entre colchetes.

Observação: o arquivo schema.ini pode conter várias entradas. É sua responsabilidade adicionar as linhas no local correto.

Exemplo de Schema.ini

[sqltes*.txt]
[sqltest2.txt]
ColNameHeader = False
CharacterSet = ANSI
Format = TabDelimited
Col1=id Char Width 30
Col2=idname Char Width 30
----------------------------------------
[report_200*.txt]
[report_2003_09.txt]
ColNameHeader = False
CharacterSet = ANSI
Format = TabDelimited
Col1=date Char Width 30
Col2=service Char Width 30
Col3=responseTime Char Width 30
----------------------------------------

Arquivo DataSourceControl

Para cada consulta, o arquivo de controle da fonte de dados contém o padrão de nome do arquivo e o nome do arquivo de entrada atual para continuar com o mesmo arquivo quando o conector for reiniciado.

A seguir, há um exemplo do arquivo de controle no formato XML:

<AdapterControl Save="end" LastSaveTime="2005/03/23 09:16:15">
   <Data>
      <QueryCollection>
         <Query QueryName="TroubleTickets (on D:\Data\Incidents*.xls)">
            <KeyField Name="INC_CLOSE_DATE">
               <LastValue>7/03/2005 13:06:21</LastValue>
            </KeyField>
            <LastFileName>IncidentsMarch.xls</LastFileName>
         </Query>
      </QueryCollection>
   </Data>

Retendo arquivos de entrada

Quando o conector termina de ler o arquivo atual, pesquisa pelo próximo. O próximo arquivo lido é o primeiro arquivo que atende ao padrão de nome e cujo nome é maior (em ordem lexicográfica) do que o nome do arquivo anterior. O conector não retorna para arquivos anteriores, mesmo que novos registros sejam adicionados a eles.

O conector usa o atributo InitialFileName apenas quando esses dois atributos são iguais a "não", e o arquivo de controle não contém o nome do último arquivo.

Verificação de consultas

O conector verifica o texto da conexão e a consulta apenas se o arquivo definido existir. Se for definido usando caracteres curinga, o conector verificará apenas em relação ao primeiro arquivo.

Erros podem ocorrer quando o conector tentar ler de um novo arquivo. Nesse caso, o conector será interrompido imediatamente se o atributo crítico for igual a "sim". Se for igual a "não", o conector não continuará a executar essa consulta, mas continuará com as outras consultas. Como alternativa, o conector deixa o arquivo atual e passa para o próximo arquivo.

Variáveis internas do conector

Há duas variáveis internas que podem ser usadas no arquivo de configuração para se referir ao contexto atual do nome do arquivo. Elas são: file_name e :file_name_no_ext, que se referem ao nome do arquivo atual e ao nome do arquivo atual menos a extensão do arquivo, respectivamente.

Essas variáveis podem ser usadas no elemento SelectStatemen e no atributo SelectInitialValues QueryKeyField\Function.

O conector substitui a variável pelo nome do arquivo nas consultas.

Por exemplo: