Fran Diaz

Reporting Services, Business Intelligence, tecnologías Microsoft y otros

Email Notifications

Recent Posts

Tags

News

Community

Comunidades

  • Foro MSDN Español: Colaborador
  • CartujaDotNet

Webs Amigas

Archives

April 2012 - Artículos

[SSIS] Extracción desde Oracle con parámetros

Este caso que voy a explicar lo he utilizado con Oracle pero también os puede servir para obtener los datos desde una base de datos no SQL Server, y digo ‘no SQL Server’ porque para este es más fácil hacerlo sin liarla tanto Sonrisa.

Vamos a exponer el escenario para que entendamos bien que es lo que quiero hacer:

La idea es la extracción de datos desde Oracle de una determinada fecha en adelante y/o los datos que cambiaron en la tabla de la que traigo los datos. 
¿Cómo lo traigo? Pues me pillo un componente Data Flow Task y dentro de este uso un OLE DB Source al que conectarme (el resto hasta el destino según vuestras necesidades).

Primer intento. En el OLE DB Source elijo la conexión a Oracle en Data access mode selecciono SQL Command y escribo la siguiente sentencia:

Select [MisCampos] From MiTabla Where Fecha_Registro >= ?

Si el origen fuese un SQL Server ahora podría seleccionar parameters y asignar alguna variable que tuviese por ahí y listo, pero como es una fuente diferente no puede ser así.

Solución:

  1. Creamos dos variables, una que contenga el SQL (de tipo string)  y la otra la fecha. 
  2. Para la variable que contendrá el SQL no situamos en el panel de variables y pulsamos F4 para pasar a las propiedades de esta y cambiamos la propiedad EvaluateAsExpression a true. En la propiedad Expression montamos la siguiente consulta:

    “Select [MisCampos] From MiTabla Where Fecha_Registro” + @[User:MiVariableFecha]
  3. En el OLE DB Source seleccionamos el origen de datos, en data access mode seleccionamos sql command from variable y a continuación seleccionamos la variable sql (o como la llamemos).

Con esto estaría todo listo en la práctica, pero hay algunas consideraciones a tener en cuenta y que te pueden dar algún quebradero de cabeza.

  • Si la variable SQL que tenemos hay parámetros, hay que tener en cuenta que si la/s variable/s son diferentes a string tendrás que hacer una conversión sino no te funcionará y al probar la expresión te producirá una excepción.
  • Si ya tienes montada la estructura desde el origen al destino, con conversiones, splits, merges y todo lo necesario para extraer tus datos directamente de una tabla sin parámetros y ahora quieres hacerlo de esta forma te puede pasar que el componente se quede ‘pillado’ y te de errores raros.
    • Solución 1. Lo montas de nuevo todo
    • Solución 2. Puedes probar a refrescar la variable quitando o agregando campos para ver si refresca.
  • Si tienes más transformaciones entre el origen y el destino, tendrás que abrir las que te aparezcan con errores y mapear los campos (suponiendo que en la variable que has creado nueva venga con los mismos nombres y no diferentes) o en su defecto quitar y ponerlos de nuevo.

Igual hay algún caso que se me escape o que no me haya pasado, así es que si quieres comentarlo adelante Guiño!!

Un Saludo

[Webcast] Descubriendo el mundo de la Caché

El próximo martes 10 de Abril veremos en Second Nug como las cachés son uno de los múltiples recursos con los que con cuentan los desarrolladores para poder mejorar el rendimiento de las aplicaciones. Conocerlas, saber cuándo utilizarlas y elegir la más adecuada para cada situación es un factor clave en todo desarrollo de software.

El objetivo de este sesión será realizar una visión lo más práctica posible a las diferentes tipos de caché con los que se pueden contar, entrando en detalles de diseño para indicar los casos en que su uso podría ser beneficioso.

Para lo cual tendremos a Ibon Landa, Software Development Team Lead en Plain Concepts y MVP de Windows Azure, que nos introducirá a este interesante y útil mundo del uso de la caché.

Url Registro: https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032507055&Culture=es-AR

foro_caches

Además, todos los eventos anteriores de este año así como sus materiales están aquí disponibles:

- Eventos Desarrollo
Y dispones de nuestro Histórico de Eventos, con los eventos desde 2008 a 2011:

Esperamos veros allí Guiño

Un Saludo