sql >> Base de Datos >  >> Database Tools >> SSMS

¿Cómo abrir un archivo rpt como una tabla SQL?

Aunque esta respuesta es tardía, no vi una respuesta canónica al problema de abrir el formato de archivo .rpt y escribirlo en una tabla SQL.

  1. En SQL Server Management Studio en el Explorador de objetos, haga clic con el botón derecho en la base de datos en la que desea cargar el archivo y seleccione Tareas... Importar datos.

  2. Elija Flat File Source, seleccione su archivo, luego asegúrese de que la pantalla esté configurada para que coincida con la siguiente captura de pantalla (Página de códigos =65001 UTF-8, Formato =Irregular a la derecha, Nombres de columna en la primera fila de datos). Luego haga clic en Siguiente.

  1. Haga clic en el primer carácter de cada columna (vea los resaltados amarillos en la captura de pantalla a continuación para saber dónde hacer clic) para insertar columnas en los lugares apropiados:

  1. Haga clic en la pestaña Avanzado a la izquierda. Revise el nombre de cada columna y elimine los espacios del final del nombre de la columna. Arregle los tipos de datos como mejor le parezca. Advertencia:es posible que las primeras columnas deban ser cadenas debido al pie de página del archivo "(filas afectadas por NNN)".

  1. Vaya a la pestaña Vista previa a la izquierda, cambie las "Filas de datos para omitir" a 1 y haga clic en Actualizar:

  1. Haga clic en el botón Siguiente y configure su conexión a su base de datos SQL:

  1. Haga clic en siguiente y escriba el nombre de su tabla en el formato [dbo].[MyTable] luego haga clic en Editar asignaciones y confirme que los tipos de datos de la columna coincidan. Las columnas de cadena (DT_STR) deben ser columnas varchar aquí. La cadena Unicode (DT_WSTR) debería ser columnas nvarchar aquí.

  2. Haga clic en Siguiente y Finalizar para ejecutar inmediatamente. Debería ver mensajes de éxito, no errores, con suerte:

  1. Hay un pie de página que dice "(NNN filas afectadas)" (donde NNN es el número de filas de su archivo). Consulta la tabla SQL de destino para encontrar esa fila y eliminarla. select * from MyTable where MyColumn1 like '%(%' puede ayudarte a encontrar esa fila. Confirme que la consulta devuelve solo una fila antes de eliminarla.