En este artículo, ilustraremos la manera en que se puede exportar datos de SQL Server a un archivo plano, usando el Asistente de importación y exportación de SQL Server. También explicaremos algunos de los problemas ocasionados por la práctica que pueden aparecer durante el proceso de exportación de datos de SQL Server a un archivo plano.
Primeramente para iniciar el Asistente de importación y exportación de SQL Server, se debe usar una de las siguientes maneras y formas para importar / exportar datos a SQL Server utilizando permanentemente usando la página del Asistente de importación y exportación de SQL Server.
Exportando datos
Una vez que hemos elegido cómo se iniciará el Asistente de importación y exportación de SQL Server, la primera página será Página de bienvenida:
Presione el botón Siguiente para continuar.
Se mostrará la página Elegir un origen de datos:
En esta página, se puede elegir la fuente de la cual se copiarán los datos.
En el menú desplegable Fuente de datos, se debe seleccionar el proveedor que puede conectarse a una fuente de datos, en este caso, se tendrá a una base de datos de SQL Server.
De la lista, elija el proveedor SQL Server Native Client 11.0.
En el siguiente cuadro desplegable Nombre del servidor, elija SQL Server donde se encuentra la base de datos deseada desde la cual se desea exportar los datos.
Seguidamente en la sección Autenticación, se debe elegir cómo se establecerá una conexión a una fuente de datos, mediante el uso de la autenticación de Windows o SQL Server y, en el cuadro desplegable Base de datos, se debe elegir una base de datos desde la cual se exportarán los datos.
Adicionalmente, verifique los permisos mínimos para usar el Asistente de importación y exportación de SQL Server de manera correcta.
Cuando todo esté configurado se debe presionar el botón Siguiente. La siguiente de las páginas del Asistente de importación y exportación de SQL Server es la siguiente: Elija una página de destino:
En esta página, hay que especificar dónde se copiarán los datos de la base de datos de SQL Server. En el cuadro desplegable Destino, seleccione el proveedor de datos adecuado que pueda copiar (importar) datos al archivo de destino (.txt). Consiguientemente ese será el proveedor de destino de archivo plano:
Posteriormente tan pronto como se elija el proveedor de Destino de archivo plano, las opciones disponibles adicionales para la configuración de un archivo de destino en el cuadro desplegable Destino mostrarán:
En el cuadro Nombre de archivo, se debe ingresar la ubicación del archivo plano. Además, el botón Examinar se puede usar con objeto de localizar el archivo plano.
En el cuadro desplegable Configuración regional, se debe seleccionar el idioma adecuado para la clasificación y para los formatos de fecha y hora.
Marque la casilla de verificación Unicode si desea usar Unicode, pero en el caso de que esta casilla está marcada, la casilla desplegable de la página Código está deshabilitada:
Es importante que cuando elija el idioma, se debe asegurar de que ese idioma esté disponible en su sistema:
De lo contrario, cuando intente exportar datos de un servidor SQL a un archivo plano, puede aparecer el siguiente error:
– Validando (Error)
Mensajes
- Error 0xc00470b6: Tarea 1 de flujo de datos: el LocaleID 4096 no está instalado en este sistema. (Asistente de importación y exportación de SQL Server)
- Error 0xc004706b: Tarea de flujo de datos 1: “Destino – Expot_Import_Data_txt”, falló la validación y devolvió el estado de validación “VS_ISBROKEN”. (Asistente de importación y exportación de SQL Server)
- Error 0xc004700c: Tarea 1 de flujo de datos: uno o más componentes fallaron la validación. (Asistente de importación y exportación de SQL Server)
- Error 0xc0024107: Tarea 1 del flujo de datos: se produjeron errores durante la validación de la tarea. (Asistente de importación y exportación de SQL Server)
En el cuadro desplegable Página de códigos, se debe seleccionar la página de códigos para texto que no sea Unicode:
En este paso, frecuentemente un error común que puede aparecer al exportar datos de SQL Server a un archivo plano es este:
– Validando (Error)
Mensajes
- Error 0xc00470d4: Tarea de flujo de datos 1: La página de códigos en Destino – Expot_Import_Data_txt.Inputs [Entrada de destino de archivo plano] .Columns [Nombre] es 1252 y se requiere que sea 65001. (Asistente de importación y exportación de SQL Server)
- Error 0xc00470d4: Tarea de flujo de datos 1: La página de códigos en Destino – Expot_Import_Data_txt.Inputs [Entrada de destino de archivo sin formato] .Columns [Apellido] es 1252 y se requiere que sea 65001. (Asistente de importación y exportación de SQL Server)
- Error 0xc004706b: Tarea de flujo de datos 1: “Destino – Expot_Import_Data_txt”, falló la validación y devolvió el estado de validación “VS_ISBROKEN”. (Asistente de importación y exportación de SQL Server)
- Error 0xc004700c: Tarea 1 de flujo de datos: uno o más componentes fallaron la validación. (Asistente de importación y exportación de SQL Server)
- Error 0xc0024107: Tarea 1 del flujo de datos: hubo errores durante la validación de la tarea. (Asistente de importación y exportación de SQL Server)
Ante este problema una de las soluciones es cambiar la página de códigos del archivo de destino en el cuadro desplegable Página de códigos from e.g. 65001 (UTF-8) a 1252 (ANSI – Latin I) y luego posteriormente vuelva a intentar exportar los datos:
O, por otra parte, para todos los datos de SQL Server que tienen tipos de datos char y varchar para convertirlos en tipos de datos nchar y nvarchar mediante la función CAST:
En este enlace, es posible que pueden encontrar errores de servicio, advertencias y mensajes de información que pueden aparecer al exportar/importar datos a través del Asistente de importación y exportación de SQL Server.
En el cuadro desplegable Formato, es posible elegir una de las tres opciones para definir el formato de las columnas que se exportarán en el archivo de destino:
Delimitado: cuando se selecciona esta opción, se puede especificar el delimitador de columna que delimita las columnas en el archivo de destino.
Nota: El separador de columnas es posible de configurar en el cuadro desplegable Delimitador de columnas:
Ancho fijo: cuando se selecciona esta opción, las columnas en el archivo de destino tendrán definido un ancho fijo.
Derecha irregular: cada columna en el archivo de destino tendrá un ancho fijo, excepto la última columna. El delimitador para la última columna puede ser configurado en el cuadro desplegable Delimitador de filas:
La siguiente opción en la página Elegir un destino del Asistente de importación y exportación de SQL Server es el cuadro de texto de calificador de texto donde es posible especificar el calificador de texto para los datos que se tienen en el archivo de destino:
Nota: esta opción solo está disponible cuando se selecciona la opción Delimitado en el cuadro desplegable Formato, de lo contrario se esta opción se deshabilitará:
En la última opción de la página Elegir un destino del Asistente de importación y exportación de SQL Server es la casilla de verificación Nombres de columna en la primera fila de datos:
En el caso de que esta opción está marcada, los nombres de las columnas de la tabla elegida se exportarán al archivo de destino:
De lo contrario, cuando esta opción no esté seleccionada, los nombres de las columnas de la tabla elegida serán omitidos del archivo de destino:
Cuando todas las opciones están configuradas en Elegir un destino, haga clic en el botón Siguiente para continuar.
La siguiente página del Asistente de importación y exportación de SQL Server es la página Especificar copia de tabla o consulta:
En esta página, es posible especificar si se deben copiar los datos de una o más tablas/vistas a un archivo de destino al momento de marcar el botón de opción Copiar datos de una o más tablas o vistas o para copiar los datos de una consulta SQL utilizando el botón de consulta para especificar los datos para transferir el botón de radio.
A los efectos del artículo, se deberá utilizar la primera opción. Allá puede encontrar más información sobre estas dos opciones en Cómo importar/exportar datos a SQL Server utilizando la página Asistente de importación y exportación de SQL Server.
La siguiente página es la de Configurar el destino de archivo plano:
En esta página, es posible configurar las opciones disponibles para formatear el archivo plano de destino. Además, es posible obtener una vista previa de los datos que se exportarán a un archivo sin formato de destino o revisar/cambiar la asignación de las columnas.
La primera opción disponible en esta página es la tabla Fuente o el cuadro desplegable de vista. En este cuadro, se puede ver que todas las tablas y vistas disponibles de la base de datos de SQL Server estarán en la lista que se especifica en la página Elegir un origen de datos:
Pero, es importante verificar que si se marca el botón de opción Escribir una consulta para especificar los datos para transferir en la página Especificar copia de tabla o Consulta, la palabra “Consulta” aparecerá como única opción en la tabla Fuente o en el cuadro desplegable de vista:
La siguiente opción disponible es el cuadro desplegable delimitador de fila. En este cuadro desplegable es posible especificar cómo termina cada fila en un archivo de destino. Es importante verificar que, de forma predeterminada, la combinación de avance de línea de retorno de carro está configurada:
Puede encontrar más información sobre los delimitadores de fila disponibles en este enlace.
Bajo el cuadro desplegable Delimitador de columnas, es posible elegir el delimitador que separará las columnas de datos para cada fila:
Para ver qué datos se copiarán en un archivo de destino, debe hacer clic en el botón Vista previa. Posteriormente aparecerá el cuadro de diálogo Vista previa de datos que muestra hasta 200 filas del origen de datos
Cuando haga clic en el botón Editar asignaciones, se puede ver que aparecerá el cuadro de diálogo Asignaciones de columnas, que muestra las asignaciones de columnas entre el origen y el destino en la sección Asignaciones. Adicionalmente, se puede configurar qué subconjunto de columnas no se copiarán desde el origen al destino configurando la opción <ignore> en la columna Destino:
El Origen muestra de qué datos de origen se copiarán.
El Destino muestra dónde se colocarán los datos copiados de la fuente
El botón en el cual se puede ver la opción Crear archivo de destino crea un archivo plano de destino y esta opción se habilita solo cuando no existe un archivo de destino en la ruta de destino especificada:
Cuando esta opción esté marcada, se podrá cambiar los nombres en la columna Destino:
Al marcar el botón de opción Eliminar filas en el archivo de destino, se eliminan los datos que existen en un archivo de destino cuando es necesario insertar uno nuevo.
Cuando se marca el botón de opción Agregar filas al archivo de destino, se coloca una nueva información de un origen de datos debajo de los datos existentes en un archivo de destino
Se puede observar que en la columna Tipo, los tipos de <>datos de Integration Services se muestran en qué tipos de datos de origen se convertirán.
ES importante verificar que el Asistente de importación y exportación de SQL Server utiliza los <archivos de asignación XML disponibles desde esta ubicación para SQL Server 2017:
- C: \ Archivos de programa \ Microsoft SQL Server \ 140 \ DTS \ MappingFiles \ para versión de 64 bits
- C: \ Archivos de programa (x86) \ Microsoft SQL Server \ 140 \ DTS \ MappingFiles \ para versión de 32 bits
Es importante verificar que los archivos de mapeo existentes se pueden editar o se pueden agregar nuevos:
Nota: Verifique y tenga en cuenta que cuando haga eso, es importante que el Asistente de importación y exportación de SQL Server debe cerrarse y volver a abrirse para poder cargar el archivo de asignación nuevo o modificado.
Después de configurar todo en el cuadro de diálogo Asignaciones de columnas, se debe hacer clic en el botón Aceptar y en la página Configurar destino de archivo sin formato, haga clic en el botón Siguiente de tal forma que pueda continuar con la exportación de datos de una base de datos de SQL Server a un archivo sin formato.
La siguiente página del Asistente para importación y exportación de SQL Server es la página Guardar y ejecutar paquete:
En esta página, es sumamente importante que se pueda establecer si exportar datos de una base de datos de SQL Server a un archivo plano inmediatamente marcando la casilla de verificación Ejecutar inmediatamente o guardar los datos copiados de la fuente como paquete SSIS marcando la casilla de verificación Guardar paquete SSIS.
En este caso, deberemos de forma prioritaria verificar ambas opciones para exportar datos de una base de datos de SQL Server a un archivo plano.
Es muy importante verificar que tan pronto como la casilla de verificación Guardar paquete SSIS esté marcada, las opciones adicionales para configurar el paquete SSIS estarán disponibles:
Una vez que se marca el botón de opción de SQL Server, el paquete SSIS se guardará en SQL Server bajo la msdb database en la tabla sysssispackages:
El momento en que se marca el botón de opción del sistema de archivos, el paquete SSIS se guardará como un archivo con la extensión .dtsx:
Adicionalmente, desde el cuadro desplegable Nivel de protección del paquete, es posible elegir cómo se protegerán los datos en el paquete SSIS:
Se puede encontrar más información sobre estas opciones en el cuadro desplegable Nivel de protección del paquete en la página Control de acceso para datos confidenciales en paquetes.
Es importante indicar que los cuadros Contraseña y Reingresar contraseña están disponibles solo en caso de seleccionar la opción Cifrar todos los datos con contraseña o Cifrar datos confidenciales con contraseña en el cuadro desplegable Nivel de protección del paquete:
Se puede verificar que la siguiente página del Asistente para importación y exportación de SQL Server es la página Guardar paquete SSIS:
En esta página, es posible configurar información adicional para el paquete SSIS como el nombre del paquete SSIS en Namebox, para ello agregue una descripción para el paquete SSIS en el cuadro Descripción.
Destino permite indicar el destino para el paquete SSIS, ya sea un sistema de archivos o un destino de SQL Server. Es importante ver que, si se necesita cambiar el destino, vaya a la página Guardar y ejecutar paquete y elija un destino diferente:
Dependiendo de qué destino se elija SQL Server o Sistema de archivos, se puede observar que las opciones en la página Guardar paquete SSIS serán un poco diferentes.
Si se selecciona el botón de opción de SQL Server, la página Guardar paquete SSIS se verá así:
En el cuadro desplegable que indica el Nombre del servidor, se debe escribir o seleccionar de la lista desplegable el destino SQL Server para el paquete SSIS y utilizar la autenticación de Windows o SQL Server para conectarse a SQL Server.
Si se selecciona el botón de opción Sistema de archivos, en la página Guardar y ejecutar paquete, la página Guardar paquete SSIS se verá así:
En el Nombre del archivo, es posible que pueda ingresar la ruta y el nombre de archivo del archivo de destino o pueda hacer clic en el botón Examinar para seleccionar el archivo de destino:
Una vez que se establece la ruta para el paquete SSIS, presione el botón Siguiente para continuar con la exportación de datos de SQL Server a un archivo plano.
En la página Completar el asistente es posible que pueda revisar todas las opciones que se realizan en el asistente
Esta página tiene el fin de solo para verificar la configuración, y que no se pueden realizar cambios aquí.
Para inicializar la copia de datos haga clic en el botón Finalizar para comenzar a copiar los datos de SQL Server en un archivo plano.
Se puede observar que en la página Performing Operation muestra el progreso y los resultados de las operaciones configuradas en las páginas anteriores: