Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » SQL Server »

[SOLUCIONADO] Parámetros en SSIS dentro de una query Oracle

Estas en el tema de Parámetros en SSIS dentro de una query Oracle en el foro de SQL Server en Foros del Web. hola a todos, bueno estoy tratando de colocar un parametro (que es una variable en mi proyecto) en una query en lenguaje de Oracle en ...
  #1 (permalink)  
Antiguo 19/03/2014, 08:24
Avatar de ras_chalo  
Fecha de Ingreso: junio-2010
Mensajes: 369
Antigüedad: 13 años, 10 meses
Puntos: 6
Pregunta Parámetros en SSIS dentro de una query Oracle

hola a todos, bueno estoy tratando de colocar un parametro (que es una variable en mi proyecto) en una query en lenguaje de Oracle en el software de SSIS.
estoy trabajando dentro de un flujo de datos, en donde realizo una consulta Oracle, y al final en el where coloco mi parametro que es una fecha.

el tema es que no me resulta... he intentado de las siguientes formas:

Código SQL:
Ver original
  1. WHERE
  2. a.paid_date >= To_Char( &FromDate, 'YYYYMMDD')

y tambien he intentado con:

Código SQL:
Ver original
  1. a.paid_date >= To_Char( ?, 'YYYYMMDD')

pero tampoco me resulta...

de que forma se coloca para poder ejecutar correctamente mi parametro?, estoy haciendo algo mal?

Desde ya muchas gracias!, estaré atento a sus respuestas ;)
saludos!
  #2 (permalink)  
Antiguo 19/03/2014, 09:36
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Parámetros en SSIS dentro de una query Oracle

TO_CHAR() y TO_DATE() son funciones de Oracle, no de SQL Server.
Ten presente siempre que muchísimas cosas (en esecial funciones) son propias de un DBMS, y no son parte el SQL, sino sólo creadas por una empresa para su producto.

http://msdn.microsoft.com/es-es/library/ms187928.aspx
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 19/03/2014, 10:07
 
Fecha de Ingreso: abril-2012
Ubicación: Capital Federal
Mensajes: 283
Antigüedad: 12 años
Puntos: 15
Respuesta: Parámetros en SSIS dentro de una query Oracle

Hola ras_chalo, es errónea la forma en que queres incluir tu variable de SSIS dentro de tu query Oracle. Para realizarlo deberás hacer los pasos sucesivos:

1. Crear una variable nueva QUERY donde se la misma contendrá como contenido la query que mencionás anteriormente.

2. Dejando el curso dentro del cuadro de texto de la variable, en sus propiedades, buscar la leyenda "EvaluateAsExpression" y setearla con valor TRUE.

3. En la propiedad "Expression" hacer click en el boton "..." para desplegar la ventana y pegar el contenido con una estructura particular para luego editar la inclusión del parámetro en la query (un ejemplo de query con variable creada en SSIS en el WHERE)


Código SQL:
Ver original
  1. "SELECT ID,CLIENTE
  2. FROM CLIENTES
  3. WHERE fecha_pago = TO_CHAR(" + [@USER:Fecha] + ")" /*Fecha es el nombre de una variable que se creo en el paquete SSIS*/

Espero que mi explicación te haya servido.

Saludos

damimg

Última edición por damimg; 19/03/2014 a las 10:20
  #4 (permalink)  
Antiguo 19/03/2014, 11:40
Avatar de ras_chalo  
Fecha de Ingreso: junio-2010
Mensajes: 369
Antigüedad: 13 años, 10 meses
Puntos: 6
Respuesta: Parámetros en SSIS dentro de una query Oracle

Gracias Damimg!, estoy tratando de implementar lo que me dices, pero tengo una pequeña duda;

En el paso 1, cuando me dices que inserte en la variable la query que hice anteriormente, te refieres a la query entera?, osea en tu ejemplo incluirias todo esto (incluyendo las comillas?)?:

Código SQL:
Ver original
  1. "SELECT ID,CLIENTE
  2. FROM CLIENTES
  3. WHERE fecha_pago = TO_CHAR(" + [@USER:Fecha] + ")" /

si es asi, tambien debes agregar esto en la misma query que insertas en la variable?: [@User:Fecha]

y ademas crear una variable aparte que se llame "Fecha"?

Ahora suponiendo que es correcto, no existe una forma de ver la query en la variable a traves de un visor sql?, pensando en que el dia de mañana la mantención sera mas tediosa.

Gracias por la ayuda,
Saludos!


Cita:
Iniciado por damimg Ver Mensaje
Hola ras_chalo, es errónea la forma en que queres incluir tu variable de SSIS dentro de tu query Oracle. Para realizarlo deberás hacer los pasos sucesivos:

1. Crear una variable nueva QUERY donde se la misma contendrá como contenido la query que mencionás anteriormente.

2. Dejando el curso dentro del cuadro de texto de la variable, en sus propiedades, buscar la leyenda "EvaluateAsExpression" y setearla con valor TRUE.

3. En la propiedad "Expression" hacer click en el boton "..." para desplegar la ventana y pegar el contenido con una estructura particular para luego editar la inclusión del parámetro en la query (un ejemplo de query con variable creada en SSIS en el WHERE)


Código SQL:
Ver original
  1. "SELECT ID,CLIENTE
  2. FROM CLIENTES
  3. WHERE fecha_pago = TO_CHAR(" + [@USER:Fecha] + ")" /*Fecha es el nombre de una variable que se creo en el paquete SSIS*/

Espero que mi explicación te haya servido.

Saludos

damimg
  #5 (permalink)  
Antiguo 19/03/2014, 12:54
 
Fecha de Ingreso: abril-2012
Ubicación: Capital Federal
Mensajes: 283
Antigüedad: 12 años
Puntos: 15
Respuesta: Parámetros en SSIS dentro de una query Oracle

Claro, son 2 variables:

. 1 para contener la query completa incluyendo las comillas y [@User:Fecha]
. 1 para el valor de la fecha que queres parametrizar, debes darle un valor inicial para la primer corrida caso contrario fallará la misma.

Saludos

damimg
  #6 (permalink)  
Antiguo 19/03/2014, 14:03
Avatar de ras_chalo  
Fecha de Ingreso: junio-2010
Mensajes: 369
Antigüedad: 13 años, 10 meses
Puntos: 6
Respuesta: Parámetros en SSIS dentro de una query Oracle

muchas gracias ahí me funciono! ;)

muchas gracias por tu tiempo y ayuda!
saludoss!!

Etiquetas: fecha, oracle, query, siguiente, ssis
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:05.