Tema anterior: Elementos y atributos

Tema siguiente: Creación de un adaptador mediante la interfaz de usuario de CA Business Service Insight

Lectura de registros a partir de un origen de datos de archivo

Mientras haya una interfaz de ODBC al origen de datos, es posible configurar un adaptador de SQL para consultar archivos. Para configurar el adaptador para leer varios archivos, es necesario utilizar elementos Segment en el elemento ConnectionString. Para ver un ejemplo, consulte la sección anterior que describe la cadena de conexión.

Así es como trabaja el adaptador de SQL con los archivos:

  1. En cada consulta, el adaptador intenta leer desde el archivo hasta que no pueda recuperar más registros.
  2. Después, el adaptador pasa al archivo siguiente e intenta leerlo.
  3. Si no hay más archivos, el adaptador pasa a modo inactivo para esta consulta, de acuerdo con el atributo SleepTime.

Archivo schema.ini

Cuando se usa un controlador ODBC de texto, el formato del archivo de texto se determina según el archivo de información de esquema (schema.ini). Este archivo de información de esquema se deberá colocar en el mismo directorio que el origen de datos de texto.

Los archivos schema.ini se construyen a partir de entradas, cada una de las cuales describe la estructura de un solo archivo de texto. La primera línea de cada entrada es el nombre del archivo de origen de texto, encerrado entre corchetes.

Cuando el adaptador trabaja con archivos que se han definido mediante caracteres comodín, el nombre del archivo cambia constantemente. Puesto que el nombre en el archivo schema.ini no puede contener caracteres comodín, el adaptador debe cambiar el archivo schema.ini antes de conectarse a la base de datos.

Por lo tanto, es necesario agregar una línea de indicador delante de la línea de entrada de archivo. Esta línea de indicador contiene el patrón de nombres del elemento de cadena de conexión en el archivo de configuración del adaptador, encerrado entre corchetes. El adaptador reemplaza la línea siguiente con el nuevo nombre de archivo encerrado entre corchetes.

Nota: El archivo schema.ini puede contener varias entradas. Es su responsabilidad agregar las líneas en el lugar correcto.

Ejemplo 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
----------------------------------------

Archivo de control de origen de datos

Para cada consulta, el archivo de control de origen de datos contiene el patrón de nombres de archivo y el nombre del archivo de entrada actual para continuar con el mismo archivo cuando se reinicie el adaptador.

A continuación se incluye un ejemplo del archivo de control en su 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>

Conservación de archivos de entrada

Cuando el adaptador ha terminado de leer el archivo actual, busca el siguiente. La siguiente lectura de archivo corresponderá al primer archivo que se ajuste al patrón de nombre y cuyo nombre siga al nombre del archivo anterior (en orden lexicográfico). El adaptador no vuelve a archivos anteriores, aunque se le agreguen nuevos registros.

El adaptador utiliza el atributo InitialFileName solamente cuando estos dos atributos corresponden a "no" y el archivo de control no contiene el nombre del último archivo.

Comprobación de consultas

El adaptador comprueba la cadena de conexión y la consulta solamente si existe el archivo definido. Si se define mediante caracteres comodín, el adaptador lo comprueba solamente en relación con el primer archivo.

Se pueden producir errores cuando el adaptador intente leer a partir de un archivo nuevo. En este caso, el adaptador se detiene inmediatamente si el atributo "critical" es igual a "yes". Si es igual a "no", el adaptador no continúa realizando esta consulta, sino que procede con las otras consultas. El adaptador deja el archivo actual y pasa al archivo siguiente.

Variables internas del adaptador

Hay dos variables internas que se pueden utilizar en el archivo de configuración para hacer referencia al contexto actual del nombre de archivo. Estas son ":file_name" y ":file_name_no_ext", y hacen referencia respectivamente al nombre de archivo actual y el nombre de archivo actual sin la extensión de archivo.

Estas variables se pueden utilizar en el elemento SelectStatement, en el elemento SelectInitialValues y en el atributo QueryKeyField\Function.

El adaptador reemplaza la variable con el nombre de archivo en las consultas.

Por ejemplo: