Asistente de importación de archivos planos a SQL
Se aplica a: SQL Server Azure SQL Database Azure SQL Managed Instance
Para ver el contenido relacionado con el Asistente de importación y exportación, consulte Importar y exportar datos con el Asistente de importación y exportación de SQL Server.
El Asistente para la importación de archivos planos es una forma muy sencilla de copiar datos de un archivo plano (.csv, .txt) a una nueva tabla de la base de datos. El Asistente para importar archivos planos admite archivos separados por comas y de ancho fijo. En la información general puede consultar los motivos por los que el asistente resulta tan útil, el proceso para encontrarlo y un ejemplo que podrá seguir fácilmente.
¿Por qué el asistente es tan útil?
El objetivo del asistente es mejorar la experiencia de importación actual y ofrece un marco inteligente conocido como Program Synthesis using Examples (PROSE). Para un usuario sin conocimientos especializados en el tema de los dominios, importar datos puede ser una tarea compleja y tediosa, además de que se suelen producir errores. Este asistente permite simplificar el proceso de importación, ya que basta con seleccionar un archivo de entrada y un nombre de tabla único. El marco de PROSE se encarga del resto.
PROSE analiza los patrones de datos del archivo de entrada e infiere los nombres de las columnas, los tipos y los delimitadores, entre otros valores. El marco memoriza la estructura del archivo y hace el resto del trabajo para que los usuarios no tengan que preocuparse de ello.
Requisitos previos
Esta característica está disponible en la versión 17.3 de SQL Server Management Studio (SSMS) u otras posteriores. Asegurarse de usar la última versión. que podrá encontrar aquí.
Introducción
Para acceder al Asistente para importación de archivos planos, siga estos pasos:
- Abre SQL Server Management Studio.
- Conéctese a una instancia de Motor de base de datos de SQL Server o el localhost.
- Expanda Bases de datos, haga clic con el botón derecho en una base de datos (vea el ejemplo siguiente), apunte a Tareas y seleccione Importar archivo plano, encima de Importar datos.
Para obtener más información sobre las diferentes funciones del asistente, consulte el siguiente tutorial:
Tutorial
Dados los objetivos que se contemplan en este tutorial, puede usar un archivo plano propio. En caso contrario, en este tutorial se usará el siguiente archivo .csv de Excel que puede copiar sin ningún problema. Si decide usar este archivo .csv, llámelo ejemplo.csv y guárdelo como .csv en una ubicación que pueda encontrar fácilmente, por ejemplo, el escritorio.
Información general:
- Asistente de acceso
- Especificación del archivo de entrada
- Vista previa de los datos
- Modificación de columnas
- Resumen
- Resultados
Paso 1: Acceso al asistente y página de introducción
Acceda al asistente tal y como se describe aquí.
La primera página del asistente es la página principal. Si no quiere volver a ver esta página, seleccione No volver a mostrar esta página.
Paso 2: Especificación del archivo de entrada
Seleccione Examinar y el archivo de entrada. De forma predeterminada, el asistente buscará archivos .csv y .txt. PROSE detecta si el archivo está separado por comas o tiene un ancho fijo independientemente de la su extensión.
El nuevo nombre de la tabla debe ser único, ya que, en caso contrario, el asistente no le permitirá avanzar.
Paso 3: Vista previa de los datos
El asistente generará una vista previa para que pueda consultar las primeras 50 filas. Si hay algún problema, seleccione Cancelar. Si no, proceda a la página siguiente.
Paso 4: Modificación de las columnas
El asistente identifica lo que cree que son los nombres de columna correctos, los tipos de datos, etc. Aquí podrá editar los campos en caso de que sean incorrectos (por ejemplo, el tipo de datos debe ser un valor float en lugar de un valor int).
Las columnas en las que se detecten valores vacíos tendrán activada la casilla "Permitir valores NULL". Sin embargo, si espera valores NULL en una columna y no ha activado "Permitir valores NULL", aquí puede actualizar la definición de la tabla para permitir los valores NULL en una o todas las columnas.
Una vez que todo sea correcto, continúe.
Paso 5: Resumen
Esta página es simplemente un resumen en el que figura la configuración actual. Si hay algún problema puede volver a las secciones anteriores. Si no los hay, seleccione Finalizar para intentar efectuar la importación.
Paso 6: Resultados
En esta página se indica si la importación se ha realizado correctamente. Si la operación se ha efectuado correctamente, aparecerá una marca de verificación verde. De lo contrario, deberá comprobar que no haya errores con los archivos de entrada o con la configuración.
Solución de problemas
El Asistente para la importación de archivos planos detecta los tipos de datos basados en las primeras 200 filas. En escenarios en los que los datos adicionales del archivo plano no se ajustan a los tipos de datos detectados automáticamente, se produce un error durante la importación. El mensaje de error sería similar al siguiente:
Error inserting data into table. (Microsoft.SqlServer.Prose.Import)
The given value of type String from the data source cannot be converted to type nvarchar of the specified target column. (System.Data)
String or binary data would be truncated. (System.Data)
Tácticas para solucionar este error:
- La expansión de los tamaños de los tipos de datos en el paso Modificación de las columnas, como la longitud de una columna nvarchar, puede compensar las variaciones en los datos del resto del archivo plano.
- Al habilitar informes de errores en el paso Modificación de las columnas, especialmente en un número menor, se revelará qué filas del archivo plano contienen datos que no se ajustan a los tipos de datos seleccionados. Por ejemplo, en un archivo plano en el que la segunda fila presenta un error, la ejecución de la importación con informes de errores con un intervalo de 1 proporciona un mensaje de error específico. Examinar el archivo directamente en la ubicación puede proporcionar cambios más dirigidos en los tipos de datos basados en los datos de las filas identificadas.
Error inserting data into table occurred while inserting rows 1 - 2. (Microsoft.SqlServer.Prose.Import)
The given value of type String from the data source cannot be converted to type float of the specified target column. (System.Data)
Failed to convert parameter value from a String to a Double. (System.Data)
Actualmente, el importador usa codificación basada en la página de códigos activa del sistema. En la mayoría de las máquinas, este valor predeterminado es ANSI.
Contenido relacionado
Obtenga más información sobre el asistente.
- Obtenga más información sobre cómo importar otros orígenes. Si quiere importar otros recursos además de archivos planos, consulte Asistente de importación y exportación de SQL Server.
- Obtenga más información sobre cómo conectar con orígenes de archivos planos. Si quiere obtener más información sobre cómo conectar con orígenes de archivos planos, consulte Conexión con orígenes de datos de archivos planos (Asistente de importación y exportación de SQL Server).
- Obtenga más información sobre PROSE. Si quiere información general sobre el marco inteligente que usa este asistente, consulte PROSE SDK (SDK de PROSE).