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:
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.
[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 ----------------------------------------
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>
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.
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.
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:
| Copyright © 2012 CA. Todos los derechos reservados. | Enviar correo electrónico a CA Technologies acerca de este tema |