2010-08-13 21 views
41

quiero importar datos de un archivo de Excel - asuma Excel 2003/.xls - a SQL Server 2008.Cómo exportar los datos de hoja de cálculo Excel a SQL Server 2008 tabla

intentado agregar un ligados servidor al controlador de acceso JET OLE DB y, por supuesto, falla en la máquina de 64 bits. Pero cuando trato de dejar caer el servidor vinculado mientras experimento, ¡hay otro error que dice que el servidor vinculado ya/todavía existe!

También he intentado cambiar el controlador de Excel a 32 bits (herramienta regedit) pero no estoy seguro de si está haciendo algo, el mismo error está por venir.

Algunos más detalles: Say Table1 en el archivo de Excel tiene 5 columnas. Quiero asignarme a Database.dbo.Table1 con 5 columnas nuevamente, pero con diferentes nombres en la tabla. ¿Hay alguna manera de hacer incluso tal importación?

Respuesta

84

Desde su SQL Server Management Studio, abra el Explorador de objetos, vaya a su base de datos donde desea cargar los datos, haga clic con el botón derecho y luego seleccione Tareas> Importar datos.

Esto abre el Asistente de importación de datos, que generalmente funciona bastante bien para la importación desde Excel. Puede elegir un archivo de Excel, elegir qué hoja de cálculo importar para importar, puede elegir en qué tabla almacenarlo y qué columnas van a ser. Bastante flexible de hecho.

Puede ejecutar esto como una opción única, o puede almacenarlo como un paquete de SQL Server Integration Services (SSIS) en su sistema de archivos, o en SQL Server, y ejecutarlo una y otra vez (incluso programado para ejecutar en un momento dado, usando el Agente SQL).

Actualización: sí, sí, sí, puedes hacer todas esas cosas que siempre pides, ¿has intentado al menos una vez ejecutar a ese mago?

OK, aquí se trata de - paso a paso:

Paso 1: selecciona la fuente de Excel

enter image description here

Paso 2: escoger su base de datos destino de SQL Server

enter image description here

Paso 3: elija su hoja de trabajo de origen (desde Excel) y su tabla de destino en su base de datos de SQL Server; ver el botón "Editar asignaciones"!

enter image description here

Paso 4: cheque (y cambiar, si es necesario) sus asignaciones de columnas de Excel a columnas de SQL Server en la tabla:

enter image description here

Paso 5: si desea utilizarlo más adelante, guarde su paquete SSIS en SQL Server:

enter image description here

Paso 6: - ¡éxito! Esto está en una máquina de 64 bits, funciona como un encanto, ¡solo hazlo!

+0

¿cómo puedo hacer esto mediante la adición de un guión, me wa no para importar datos en 3 mesas periódicamente? ¿Hay alguna manera de crear un archivo de formato o algo para escribir directamente una consulta/script para obtener los datos? Podríamos hacer esto en SQL Server 2005, pero ¿podemos hacerlo directamente para máquinas de 64 bits? –

+0

@Amy: tendría que pasar por el asistente una vez manualmente, para configurar todo. Una vez hecho esto, puede guardar los pasos como un paquete SSIS en SQL Server y ejecutarlos en un momento dado, planificándolo en el Agente SQL. Funciona en cualquier máquina, 32 o 64 bits, no hay problema. –

+1

¡Hola, antes que nada gracias por tu ayuda! Estoy tratando de crear una asignación de columnas para los datos de Excel en la tabla SQL. Digamos que Excel table1 tiene col1, col2, col3. Y SQL table1 tiene col1, col2a, col3a. ¿Puedes pensar en una forma de mantener la información actual y hacer esto? –

2

Existen varias herramientas que pueden importar Excel a SQL Server.

Estoy utilizando DbTransfer (http://www.dbtransfer.com/Products/DbTransfer) para hacer el trabajo. Se enfoca principalmente en la transferencia de datos entre bases de datos y excel, xml, etc ...

He intentado con anterioridad el método openrowset y el Asistente de importación/exportación de SQL Server. Pero encontré que estos métodos son innecesariamente complicados y propensos a errores en comparación con hacerlo con una de las herramientas dedicadas disponibles.

1

En SQL Server 2016, el asistente es una aplicación independiente. (Importante: El asistente de Excel es solo disponible en la versión de 32 bits del asistente). the MSDN page utilizar para obtener instrucciones:

On the Start menu, point to All Programs, point toMicrosoft SQL Server , and then click Import and Export Data. 
—or— 
In SQL Server Data Tools (SSDT), right-click the SSIS Packages folder, and then click SSIS Import and Export Wizard. 
—or— 
In SQL Server Data Tools (SSDT), on the Project menu, click SSIS Import and Export Wizard. 
—or— 
In SQL Server Management Studio, connect to the Database Engine server type, expand Databases, right-click a database, point to Tasks, and then click Import Data or Export data. 
—or— 
In a command prompt window, run DTSWizard.exe, located in C:\Program Files\Microsoft SQL Server\100\DTS\Binn. 

Después de que debería ser más o menos la misma (posiblemente con variaciones menores en la interfaz de usuario) como en la respuesta de @ marc_s.

1

Como alternativa, hay varias herramientas basadas en la web que convierten los archivos de Excel en archivos SQL.

https://sqlizer.io producirá un archivo de definición de tabla, seguido de todos los datos como instrucciones de inserción, luego simplemente se puede importar a SQL Server Management Studio (Archivo> Abrir> Archivo ... en SQL SMS) - o en cualquier otro Base de datos compatible con SQL.

Aquí hay una foto de ella:

SQLizer.io ready to convert xlsx to sql

+1

Su política de privacidad dice que pueden recopilar los datos. No usaría esto para nada importante. – prospector

Cuestiones relacionadas