Pregunta

Tengo un archivo de datos plana que necesito para importar en mi base de datos SQL Server 2005.

Muchos de los campos tienen que ser separados en diferentes tablas relacionadas. Por ejemplo, el archivo plano tiene nombres, direcciones y números de teléfono, todo en un solo registro. En mi base de datos, la tabla Person tiene muchas Telephones y Addresses.

¿Existe un proceso de un solo paso mediante el cual puedo importar todo en mis tablas, o tengo que importar primero en una nueva tabla en mi base de datos (uf - contaminación si me olvido de eliminarlo), e importar los datos a partir de ahí el uso de sentencias SQL y tablas temporales?

¿Fue útil?

Solución

Yo prefiero la mesa uno de importaciones, seguido por la división fuera en mesas finales. También me persisto la tabla de importación en lugar de crear / borrar cada vez.

  • Más fácil de tratar wth restricciones (comprobar antes de inserción en la tabla final o actualizar fila existente)
  • Es más fácil dejar los datos de generación de error en la tabla de importación después de la eliminación de filas éxito
  • transacción lado del servidor
  • Tipo de datos de seguridad: ¿Puede usted confiar al 100% de su fuente
  • Más fácil de isnull o NULLIF en SQL para hacer frente a las cadenas vacías y otros tales
  • y otras cosas que no puedo recordar en este momento ...

Otros consejos

Esto es totalmente un trabajo para de SQL Server Integration Services . Tiene un gran funcionalidad que le permitirá tomar un archivo plano, hacer la manipulación de datos en él, y, finalmente, importarlo a su nueva base de datos.

Por desgracia, no es una solución "rápida solución" fácil, que yo sepa fuera de eso. No es la tecnología Me gustaría ver en primer lugar, sin embargo.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top