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.
-
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.
-
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.
- 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:
- 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)".
- Vaya a la pestaña Vista previa a la izquierda, cambie las "Filas de datos para omitir" a 1 y haga clic en Actualizar:
- Haga clic en el botón Siguiente y configure su conexión a su base de datos SQL:
-
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í. -
Haga clic en Siguiente y Finalizar para ejecutar inmediatamente. Debería ver mensajes de éxito, no errores, con suerte:
- 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.