Red de conocimiento informático - Aprendizaje de código fuente - Varios métodos para importar archivos de texto a la base de datos

Varios métodos para importar archivos de texto a la base de datos

En el desarrollo de bases de datos a gran escala, a menudo se encuentra que la fuente de datos es un archivo plano (como un archivo de texto). Para dicha fuente de datos, la base de datos no se puede utilizar para administrar los datos de manera efectiva. Y SQL no se puede utilizar para consultarlos y operarlos, por lo que la máxima prioridad es importar estos archivos planos a la base de datos y luego poder operarlos de manera eficiente.

A continuación se presentan varios métodos comunes de importación de datos, con la esperanza de ilustrar a todos. Además, las bases de datos involucradas en este artículo son todas bases de datos ORACLE. De hecho, los métodos son similares para otras bases de datos.

1. Sql*: Cargador

Este método es uno de los métodos más importantes para la importación de datos en la base de datos Oracle. Esta herramienta es proporcionada por el cliente Oracle. >El principio de funcionamiento básico es: Primero, cree un archivo de control para el archivo de origen de datos. El archivo de control se utiliza para explicar cómo analizar el archivo de origen. Debe incluir el formato de datos del archivo de origen y los campos del archivo de destino. base de datos y otra información Un archivo de control típico tiene el siguiente formato:

LOAD DATA

INFILE '/ora9i/fengjie/agent/data/ipaagentdetail200410.txt'

TRUNCAR (añadir también se puede usar REPLACE TRUNCATE)

EN LA TABLA fj_ipa_agentdetail

campos terminados ","

collos nulos finales

( AGENT_NO carácter,

AGENT_NAME carácter,

AGENT_ADDRESS carácter,

AGENT_LINKNUM carácter,

AGENT_LINKMAN carácter

)

donde, INFILE '/ora9i/fengjie/agent/data/ipaagentdetail200410.txt' indica el archivo fuente que se importará. De hecho, el archivo fuente también se puede ingresar directamente a través de la línea de comando. fj_ipa_agentdetail es el nombre de la tabla de destino, los campos terminados "," significa que cada campo del archivo de origen está separado por comas. Los campos vacíos todavía se escriben en la tabla de la base de datos. la tabla de la base de datos de destino. Del análisis de formato del archivo de control típico anterior, se puede ver que el archivo de control debe ser coherente con la información de formato del archivo fuente; de ​​lo contrario, los datos importados serán anormales.

Además del control, sql*loader también necesita archivos de datos, es decir, archivos fuente.

Dependiendo del formato, los archivos fuente se pueden dividir en dos categorías: longitud de campo fija y delimitados. Estas dos situaciones se explicarán aquí:

Archivos de texto de longitud de campo fija

Es decir, cada campo tiene una longitud de campo fija, por ejemplo:

602530005922 1012

602538023138 1012

602536920355 1012

602531777166 1012

602533626494 1012

602535700601 1012

Archivos de texto con delimitadores

Es decir, cada campo está separado por el mismo delimitador, como por ejemplo:

1001, Compañía de Desarrollo Integral de Telecomunicaciones de Larga Distancia de Shanghai, Sala 140, No. 34, Nanjing East Road

1002, Shanghai Huaqi Communication Technology Co., Ltd., Sala 1902, No. 19 Wuning Road

p>

1003, Shanghai Bangzheng Technology Development Co., Ltd., Room 903, No. 61, Nanjing East Road

El cargador SQL* puede procesar ambos los dos formatos de archivo anteriores. El siguiente es el texto de longitud fija que se encuentra delante. Tomemos un ejemplo:

Dado que el texto tiene solo dos campos, uno es el número de equipo y el otro es el distrito. número de oficina, y las longitudes de los dos son 20 y 5 respectivamente, entonces el archivo de control se puede compilar de la siguiente manera:

LOAD DATA

INFILE '/ora9i/fengjie/agent/ data/ipaagent200410.txt'

TRUNCAR

EN LA TABLA fj_ipa_agent

(DEVNO POSITION(1:20) CHAR,

BRANCH_NO POSITION (21:25) CHAR

)

Entre ellos, '/ora9i/fengjie /agent/data/ipaagent200410.txt' es la ruta completa del archivo y POSITION (M : N) indica que el campo va desde la posición M hasta la posición N.

Para archivos de datos con delimitadores, hay un ejemplo antes, por lo que no entraré en detalles aquí. En resumen, usar Sql * Loader puede importar fácilmente archivos de datos a la base de datos, y este método también es el más utilizado.

2. Utilice herramientas profesionales de extracción de datos

Actualmente en el campo del almacenamiento de datos, la extracción y carga de datos (ETL) es una tecnología importante. Es especialmente adecuado para archivos o una gran cantidad de archivos. A continuación se ofrece una breve introducción a una de las principales herramientas de extracción de datos actuales: Informatica.

Esta herramienta utiliza principalmente una interfaz gráfica para la programación. Su flujo de trabajo principal es: primero importar la estructura (formato) del archivo de datos de origen a Informatica y luego realizar una determinada transformación en la estructura (transformación) de acuerdo. a las reglas de negocio. ), y finalmente importado a la tabla de destino.

El proceso anterior solo realiza un mapeo desde el origen al destino. La extracción y carga de datos reales deben realizarse en el flujo de trabajo.

Al utilizar herramientas profesionales de extracción de datos, puede combinar la lógica empresarial para realizar operaciones de unión, unión, inserción y otras operaciones en datos de múltiples fuentes, lo cual es adecuado para grandes bases de datos y almacenes de datos.

3. Importar usando la herramienta Access

Puedes seleccionar directamente 'Abrir' el archivo de texto en Access, seguir el asistente para importar un archivo de texto a la base de datos de Access y luego usarlo. métodos de programación Importarlo a la base de datos de destino final.

Aunque este método es engorroso, tiene requisitos de configuración del software del sistema relativamente bajos, por lo que tiene un cierto alcance de uso