sources manager conectar con oracle ssis

oracle - manager - 0x80040e51 Descripción: "El proveedor no puede derivar información de parámetros y no se ha llamado a SetParameterInfo".



ssis connection manager (1)

Terminé estableciendo esto en las "expresiones" en DataFlow, y NO en el origen de OLD DB, asegurándome de que la variable todavía tenga "EvaluateAsExpression" = True.

También puede ver que he actualizado desde OLE DB a usar el conector de Attunity Oracle .

Estoy tratando de ejecutar una consulta contra Oracle con la cláusula where que incluye

BETWEEN date AND date2

La primera ronda de investigación muestra que el proveedor Oracle OLEDB no permite consultas parametrizadas, y éstas deben establecerse en variables. Así que he creado 3 variables. 2 para mantener mis fechas que se llenan correctamente, y una para mantener la consulta con la expresión que termina en:

BETWEEN to_date(''" + (DT_WSTR, 30)@[User::lastRun] + "'',''DD/MM/YYYY HH:MI:SS AM'') AND to_date(''" + (DT_WSTR, 30) @[User::thisRun] + "'',''DD/MM/YYYY HH:MI:SS AM'')"

Cuando hago clic en "Evaluar expresión" en el generador de expresiones, se evalúa correctamente para

BETWEEN to_date(''1/1/1900'',''DD/MM/YYYY HH:MI:SS AM'') AND to_date(''1/1/2010'',''DD/MM/YYYY HH:MI:SS AM'')

Y puedo ejecutar esto contra Oracle de forma exitosa utilizando otras herramientas.

Pero cuando intento ejecutar el paquete, recibo:

Error [mySource 1 ]: Código de error de SSIS DTS_E_OLEDBERROR. Se ha producido un error OLE DB. Código de error: 0x80040E51. Un registro OLE DB está disponible. Origen: "OraOLEDB" Hresult: 0x80040E51 Descripción: "El proveedor no puede derivar información de parámetros y no se ha llamado a SetParameterInfo".

Donde mySource es el origen de OLE DB. Tiene su modo de acceso establecido en "Comando SQL de la variable" y SQLCommandVariable establecido en mi variable de consulta.

También intenté configurar manualmente todas las columnas externas de salida y cambiar algunos de los valores que estaba seleccionando en la consulta para descartar el tipo de datos DATE de Oracle:

to_char(PT.CREATED_DTTM,''DD/MM/YYYY HH:MI:SS AM'')

Todavía soy bastante nuevo en SSIS, por lo que no estoy seguro de estar buscando en el lugar correcto la raíz de este error. Alguien tiene ideas de dónde ir desde aquí?

Capturas de pantalla según lo solicitado. Como puede ver, la consulta "de variable" funciona como se espera en el modo de vista previa, pero cuando intento ejecutarla obtengo el error.