He creado el paquete de la siguiente manera:
1- El excel source
2- He creado un Data Conversion puesto que me daba error al quere enviar
los registros a la tabla
3- Luego he hecho un Lookup para buscar los registro (esto no s� si es
necesario)
Luego de esto no s� que tarea agregar en el data Flow para decirle que
me actualice (no que me inserte), los campos que tengo en el archivo de
excel y que coinciden en el archivo de excel, buscando en internet le�a
que hac�an referencia a la tarea "OLE DB Command", pero no encuentro
como darle la instrucci�n del UPDATE.
Algo as� como : Update empleado set empleado.puesto=campoEnexcel.puesto
where empleado.empleado = campoEnexcel.empleado
gracias por su ayuda y su tiempo.
1) Primero el tutorial de SSIS que viene con SQL server cuando baja los
libros on line
2) Siendo novato incie el proyecto en modo wizard
--
---------------------------------------------------------------------
Maxi Accotto
Microsoft MVP en SQL Server
Consultor en SQL Server
http://blog.maxiaccotto.com
---------------------------------------------------------------------
"kojikabutosv" <kojika...@gmail.com> escribi� en el mensaje de
noticias:#Uw0rH96...@TK2MSFTNGP05.phx.gbl...
Si eres ducho con T-SQL, una forma sencilla seria creando una tabla
permanente en la base de datos. Tu paquete tendria que eliminar todos los
registros de esta tabla (truncate table empleado_stage), copiar los registros
desde el archivo excel hacia esta tabla y luego una tarea sql que envie la
sentencia t-sql que actualiza tu tabla basada en las filas existentes en la
tabla que usas para almacenar la data desde excel. Algo asi como:
update empleado
set puesto = (
select s.puesto
from empleado_stage as s
where s.empleadoid = empleado.empleadoid
)
where exists (
select *
from empleado_stage as s
where s.empleadoid = empleado.empleadoid
);
Ahora, si no deseas crear la tabla para almacenar la data de el archivo
excel, entonces tendrias que poner esa data en un recordset y hacer un bucle
donde por cada fila envies una sentencia parametrizada hacia la base de
datos. Como vez es mas compleja esta opcion, pero muy practica cuando no
tenemos permiso en la db para crear una nueva tabla y ademas cuando el # de
filas a actualizar no son demasiadas.
Si el # de filas es poco, hasta la tarea "slowly changing dimension" te
puede servir. Lo malo es que debes estar familiarizado con estos conceptos
antes de navegar por el wizard.
AMB
"kojikabutosv" wrote:
> Hola, buenas tardes, estoy aprendiendo a utilizar SSIS y estoy hecho
> "bola" todo este día con un problema para actualizar una tabla desde un
> archivo de Excel.
>
> He creado el paquete de la siguiente manera:
>
> 1- El excel source
> 2- He creado un Data Conversion puesto que me daba error al quere enviar
> los registros a la tabla
> 3- Luego he hecho un Lookup para buscar los registro (esto no sé si es
> necesario)
>
> Luego de esto no sé que tarea agregar en el data Flow para decirle que
> me actualice (no que me inserte), los campos que tengo en el archivo de
> excel y que coinciden en el archivo de excel, buscando en internet leía
> que hacían referencia a la tarea "OLE DB Command", pero no encuentro
> como darle la instrucción del UPDATE.
>
> Algo así como : Update empleado set empleado.puesto=campoEnexcel.puesto
Ambos tienen razón necesito leer más documentación respecto a esto.
Gracias nuevamente por su tiempo.
EXITOS!!!!
Alejandro Mesa escribió: