Estamos trabajando en un proyecto que requiere importar datos de una hoja de cálculo de Excel a diario. Los datos se importarán desde la plantilla predefinida y lo que estamos pensando, primero cargaremos los datos en la tabla temporal y realizaremos la operación de limpieza (eliminar información innecesaria, agregar nuevas filas en la tabla principal y obtener su FK, etc.).
- Necesito saber si hay alguna herramienta o utilidad disponible que pueda reducir nuestros esfuerzos.
- ¿Cuál es la mejor manera de INSERTAR registros masivos de diferentes fuentes (principalmente de hojas de cálculo Excel)?
sql-server
bulk
import
kodvavi
fuente
fuente
Respuestas:
SSIS es el camino a seguir en esto. Si nunca antes ha creado un paquete y sabe que sus archivos de origen (lea también: hojas de cálculo) siempre serán los mismos, lo que puede hacer es usar el asistente de Importar / Exportar de SQL Server. En SSMS, haga clic con el botón derecho en la base de datos y seleccione Tareas> Importar (o Exportar) Datos ...
Esto abre un asistente que lo guía a través de los pasos para seleccionar sus archivos de origen / destino, así como las tablas de destino (puede crear tablas si aún no existen). Tendrás que mapear qué columnas van a dónde, pero el asistente es bastante sencillo. Cuando haya terminado, le pedirá que ejecute o guarde el paquete (o que haga ambas cosas). Guarda el paquete. Esto guardará su paquete en formato .dtsx si elige guardarlo en el sistema de archivos. Su otra opción es guardar el paquete en el propio SQL Server, que luego los mantendría en la base de datos del sistema msdb.
Una vez que haya guardado su paquete, puede crear un trabajo de Agente SQL para ejecutar ese paquete periódicamente (usted especifica la programación) para que siempre pueda cargar sus tablas usando SSIS. Si desea obtener más información sobre SSIS, consulte los seminarios web gratuitos de mi empresa (cubrimos toda la pila de BI) en PragmaticWorks
fuente
Aquí hay un ejemplo sobre cómo importar datos de Excel a SQL Server. Uno de los principales problemas es asegurarse de utilizar el componente de conversión de datos entre Excel y SQL Server y realizar una conversión de NVARCHAR a VARCHAR, ya que Excel trata los datos como NVARCHAR.
http://www.mssqltips.com/tip.asp?tip=1393
fuente
Utilice los servicios de integración de SQL Server . Es así de simple.
No podemos mostrarte cómo aquí: es demasiado general
fuente
No descartaría nada de
mr. gbn,Sankar Reddy,SQLChicken
. Pero me gustaría decir que hay una manera simple de importar una hoja de Excel en SQL es a través de 'OPENROWSET' TSQL.Por ejemplo, para importar
user
hoja de Excel en laTestDB
base de datos. Supongamos que ya he creado la[user]
tabla en laTestDB
base de datos. Entonces, el simple TSQL de openrowset estaría debajo de una mención como esaNota: Estoy escribiendo este TSQL en el entorno de SQL Server 2012. Para cada servidor SQL, el
OLEDB
proveedor de openrowset será diferente. Compruebe elOLEDB
enlace servidor-> proveedor compatible con esa versión del servidor SQL. En mi caso lo esACE.OLEDB.12.0
. Antes de importar, asegúrese de queAllow inprocess
esté marcado o no de eseMICROSOFT.ACE.OLEDB.12.0
proveedor. Debería verificarse asíNota: - Está probado en el entorno de producción. Pero en su caso sin probar en el entorno de prueba. No ejecute directamente en el entorno de producción.
fuente