lunes, 24 de noviembre de 2008

internal error 2738

Hoy una solución rapidita,

Si al instalar en Win Vista el System Center Capacity Planner (SharePoint Capacity Planning Tool v1.0) os sale el siguiente error: "internal error 2738" la solución es muy sencilla: Inicio, Ejecutar (Buscar) y escribir "regsvr32 vbscript.dll". Igual os sale una nueva ventana con otro error, pero nos da lo mismo ya que si volveis a ejecutar el .msi se inicia correctaemnte y a otra cosa mariposa :-P

Salu2

viernes, 7 de noviembre de 2008

Huelga Informática

Hola,

Me veo en la obligación moral de añadir este enlace para defender lo que creo por derecho nos pertenece. Nuestra titulación.

No voy a abrir en este blog un debate pero si que creo que es necesario pararnos a pernsar un poco en lo que significa la NO adaptación de nuestro título.

http://www.huelgainformatica.es/

Salu2

miércoles, 29 de octubre de 2008

II Conferencia Microsoft Business Intelligence

Hola a todos,
Hoy una noticia que espero sea de vuestro agrado. Por segundo año Microsoft organiza la BI Conference en la que un servidor va a participar tanto en Barcelona como en Madrid contando un caso de éxito.
Podeis ver la agenda en el siguiente enlace:

lunes, 13 de octubre de 2008

Laboratorios Virtuales Microsoft

Hola,

Hoy voy a ser breve,

http://www.microsoft.com/events/vlabs/default.mspx

Una URL interesantísima con todos los posibles laboratoritos virtuales que se pueden hacer relacionados con tecnologías microsoft.

¡Impresncindibles!

Salu2

martes, 7 de octubre de 2008

PPS + Reporting Services en Producción

Hola,

Hoy os dejo algunos ejemplos de webs reales con Cuadros de Mando, KPI's, indicadores y un sin fin de elementos relacionados con BI y MS.

http://richardlees.com.au/
http://richardlees.com.au/sites/Demonstrations/Documents/Web%20Dashboard%20-%20close%20to%20real%20time%20analytics%20of%20this%20internet%20site/Internet%20Activity%20Today.aspx

Banco de Finlandia

http://www.bof.fi/Stats/default.aspx?r=/tilastot/markkina-_ja_hallinnolliset_korot/euribor_korot_short_en&SeriesName=D.EURIBOR12
http://www.bof.fi/Stats/default.aspx?r=/tilastot/valuuttakurssit/usd_jpy_kk_chrt_en

http://www.bof.fi/en/tilastot/index.htm

O incluso la propia MS ya que "utiliza su tecnología internamente para mejorar la forma de trabajar de sus empleados y además como un gran testador “in-house”. A ello se le ha llamado Microsoft IT Showcase".

Os dejo este site con mucha información:
http://technet.microsoft.com/en-us/library/bb736234.aspx

Curioso

Salu2

miércoles, 24 de septiembre de 2008

Han nacido tres nuevos blogs amigos

Hola,

Simplemente anunciar la creación de dos nuevos blogs por parte de unos buenos compañeros:

- InfoWorld
- BE CRM
- De todo un poco

¡Les deseo lo mejor y muchas, muchas visitas!

(Editado el 02/10/2008 para añadir el tercer blog)

Jobs en Oracle, .NET y errores con el idioma

Hola,

Siguiendo con el post anterior me pasó algo muy curioso, tenía unos Procedimientos Almacenados (SP) con unos parámetros de fecha, y a pesar de que iban como una cadena texto fijo, a la hora de llegar a ejecutarse en Oracle me fallaban.

Ejemplo: paquete.nombreSP('M', '01/01/2003', '31/12/'TO_CHAR(sysdate,'RRRR'),NULL);

Si el programa se ejecutaba en un SO en español funcionaba sin problemas, el fallo se producía cuando se ejecutaba en un SO en ingles que entonces se producía la siguiente excepción en Oracle:

ORA-12012: error on auto execute of job 2513

ORA-01843: not a valid month

ORA-06512: at line 1

Para solucionarlo es necesario añadir un poco de código respecto al que se vió en el post anterior que lo que va a hacer es cambiar la cultura del thread que llama a Oracle y lo vamos a forzar a que siempre sea en español (de España) y de esta manera Oracle 'se lo traga' sin problemas.

En el constructor ponemos esto:

Thread.CurrentThread.CurrentCulture = new CultureInfo("es-ES");

Y cuando ponemos el código que 'ataque' a la base de datos añadimos:

cmdSet.Connection = conn;

cmdSet.CommandType = System.Data.CommandType.Text;

cmdSet.CommandText = "ALTER SESSION SET NLS_DATE_FORMAT='DD/MM/RR'";

Finalmente, antes de ejecutar la 'query' que llama al 'job' de Oracle será necesario poner la siguiente línea:

cmdSet.ExecuteNonQuery();

En resumen, lo que estamos haciendo es ejecutar una sentencia SQL en Oracle antes de lanzar nuestro 'job' para que la sesión asociada a nuestra conexión la cambie a Español con el formato de fecha día/mes/año.

Si os pasa luego no digáis que no os avise ;-)

Salu2

martes, 23 de septiembre de 2008

Jobs, Oracle y .NET

Hola,

A modo introductorio de un post posterior a este voy a contaros como lanzar un job en Oracle desde un código .NET gracias al SP que se nos proporciona DBMS_JOB.submit

En su forma más básica sería algo parecido a esto:

Oracle.DataAccess.Client.OracleConnection conn = new Oracle.DataAccess.Client.OracleConnection(connString);

Oracle.DataAccess.Client.OracleCommand cmd = new Oracle.DataAccess.Client.OracleCommand();

Oracle.DataAccess.Client.OracleParameter paramID = new Oracle.DataAccess.Client.OracleParameter();

Oracle.DataAccess.Client.OracleParameter paramOpID = new Oracle.DataAccess.Client.OracleParameter();

Oracle.DataAccess.Client.OracleParameter paramOpWhat = new Oracle.DataAccess.Client.OracleParameter();

cmd.Connection = conn;

cmd.CommandType = System.Data.CommandType.StoredProcedure;

cmd.CommandText = "DBMS_JOB.submit";

paramOpID.ParameterName = "id";

paramOpID.OracleDbType = Oracle.DataAccess.Client.OracleDbType.Decimal;

paramOpID.Direction = System.Data.ParameterDirection.Output;

cmd.Parameters.Add(paramOpID);

paramOpWhat.ParameterName = "What";

paramOpWhat.OracleDbType = Oracle.DataAccess.Client.OracleDbType.Varchar2;

paramOpWhat.Direction = System.Data.ParameterDirection.Input;

paramOpWhat.Value = @jobName;

cmd.Parameters.Add(paramOpWhat);

conn.Open();

cmd.ExecuteNonQuery();

return paramOpID.Value.ToString();

Este SP tiene muchos otros parámetros que recomiendo que veáis en la siguiente web: http://www.psoug.org/reference/dbms_job.html

Salu2

viernes, 29 de agosto de 2008

El accidente de Spanair y los medios de comunicación

Texto íntegro tal cual ha escrito mi amigo Himar en Facebook. La verdad es que ha escrito lo que yo pienso de una forma tan exacta que no me queda más remedio que apropiarme de sus palabras. Resalto en azul sus opiniones.
El texto que publico dentro del apartado "ARTÍCULO" no es mío, aunque lo secundo totalmente, con la pequeña excepción de que el modelo MD-90 sí existe.

Añadiré, además, algunos comentarios propios al respecto, al final.




ARTÍCULO
======================================

Es demencial que nos sigan bombardeando con sensacionalismo e información errónea. Disparates tales cómo:

* el aeropuerto de Los Rodeos se cerró definitivamente tras el trágico accidente de PAN AM y KLM (TFN continúa operativo, es destino de IB, JK, UX y vuelos interinsulares)
* se mantiene la incógnita de por qué el avión de Spanair salió de la T2 y se estrelló en las pistas de la T4 (las pistas de Barajas no pertenecen a una terminal en concreto, son utilizadas por todos los aviones independientemente de la terminal donde se efectúa el embarque/desembarque)
* el MD-90...(modelo inexistente)
* sms y llamadas de los pasajeros momentos antes del despegue. Qué hacían los pasajeros con los móviles encendidos? Son conscientes de las interferencias que podían estar causando? Podríamos especular también sobre dichas interferencias como causas del accidente?
* los cadáveres acaban de llegar a la base aérea militar de Gando a bordo de un Hércules de Spanair.(Hércules es avión militar, no de aviación comercial)
* el avión no había pasado una revisión desde el mes de enero (y los demás controles diarios y de escala estipulados?)
* reportaje de una periodista en un simulador. Mientras están recreando un despegue con fallo de motor interrumpe las explicaciones del instructor para hablar del miedo que siente ella cuando hay turbulencias

Si hablan de aviación con tanto desconocimiento, cómo podremos confiar en la información que ofrecen sobre economía, medicina, etc.?

Hasta el momento no he visto que hagan informes comparativos con la siniestralidad en carretera. La media española es de 5,6 muertos diarios, lo que hace una cifra mensual de 160 personas, desgraciadamente mayor que las 153 víctimas de Spanair, cifras que afortunadamente no se repetían desde hace 25 años en España

Menos mal que después de un accidente por carretera no van a los hospitales a rescatar testimonios tales cómo:

* Peugeot se niega a dar datos inmediatamente después del accidente de por qué el fallo del ABS provocó la muerte de mis dos hijas
* El punto negro del km. X de la A1 me ha quitado a mi nieto de 4 meses
* salí despedida del coche, impacté contra el quitamiedos y caí por un terraplén. Intenté levantarme y vi que tenía el fémur fracturado....
* se hizo un torniquete y volvió a buscar a los niños que estaban tirados en la carretera
* bombero que declara que sacó de un coche ardiendo a un bebé mientras su madre moría calcinada
* me salvé de morir porque me quedé dormida y no me fui con mi hermana, mi cuñado y mis sobrinos que ahora están todos muertos
* Cuál fue la última revisión de su coche? Había hecho el cambio de aceite hace un año y pasado la ITV hace dos

Me gustaría que alguien relacionado con los medios de comunicación les hiciera reflexionar sobre la transgresión ética cometida tanto ahora como en los atentados del 11M.

En lugar de rellenar horas de televisión y páginas de periódicos con tanto morbo, sería buen momento para que recomendaran a los pasajeros que respeten las instrucciones por su propia seguridad, presten más atención a las demostraciones de emergencia y puedan localizar una salida en caso de accidente.

Reflexionen sobre cómo el equipaje de mano voluminoso, excesivo, no debidamente asegurado o colocado en salidas de emergencia actuaría como una barrera en caso de una evacuación.

Informen a los padres que se niegan a colocarle el cinturón de seguridad a sus niños para no despertarles, que en caso de frenada brusca, salida de pista o turbulencia severa los pequeños podrían salir disparados como un proyectil por la cabina.
(..)

==========================================


Lo cierto es que poco se puede esperar, no sólo de los medios, sino de las preferencias de los españoles en lo que al consumo de prensa se refiere (el periódico deportivo MARCA es el de
mayor tirada nacional en prensa no gratuita, con una ventaja considerable sobre EL PAÍS, su más inmediato perseguidor).

ELMUNDO.ES publicaba a las 16:00 horas del día del accidente información como: "En el momento del accidente, todos los pasajeros se encontraban a bordo del avión". Gracias a Dios que no había ninguno en la cabecera de pista vendiendo pañuelos. El mismo periódico, el segundo en tirada nacional (prensa no deportiva), publicaba un día después, como titular destacado de su home, "Javier cumplió mi sueño", en alusión a uno de los pilotos, quien enseñó a volar a la persona entrevistada. Otros artículos tenían como titular, "Rescate primero a mi hija", "Mi sobrino cumplía hoy 23 años", o el sensacional (de sensacionalista, no de espléndido) video de un hombre diciéndole a su mujer: "Susana, que eso es un avión", mientras grababa la columna de humo.

http://photos.l3.facebook.com/photos-l3-snc1/v319/158/103/664943096/a664943096_899979_3730.jpg

Artículo del ELPAIS bajo el título "¿Dónde están mis padres?"


ELPAIS.ES, por su parte, no se quedaba tampoco atrás: "¿Dónde están mis padres?", "¿Cuándo termina la película?", o "Mi hermana está dormidita", en alusión en este último caso a las declaraciones de un niño de 6 años al ver a su hermana, muerta. Todos estos artículos fueron de los más leídos esos días, por otra parte.

El fin último (no por orden de importancia, sino por el verdadero objetivo que lo promueve) de un medio de comunicación es INFORMAR. Pues bien, me gustaría saber qué información nos estaban dando artículos como los citados anteriormente. Porque donde ellos ven información yo sólo veo MORBO.

Asqueroso resultó también ver en la tele cómo programas de contrastado rigor informativo, tales como "Está pasando" (Telecinco) o "El Método Gonzo" (Antena 3 TV), nos demostraban su profundo conocimiento en la materia con sus extraordinarias opiniones, rebosantes de criterio ya no sólo profesional, sino también ético.

Eso sí, en ningún momento, ni un sólo medio de comunicación fue capaz de INFORMAR acerca de que, hasta las 19:30 horas (casi 5 horas después del horrible suceso), el teléfono de atención e información para familiares NO ESTUVO OPERATIVO. Es decir, que ni los familiares ni amigos de los pasajeros a bordo pudieron saber siquiera si sus seres queridos iban o no a bordo del avión siniestrado. Durante 5 horas de sandeces periodísticas amarillas, típicas (según nuestra propia atribución) de la prensa británica o alemana, sin caer en la cuenta de que la nuestra tiene el mismo tono.

Como, por fortuna, algo de información veraz y rigurosa se puede obtener de la prensa en España, cito para finalizar el siguiente extracto de un (buen, esta vez sí) artículo publicado por ELPAIS en el día de ayer bajo el título de "
La potencia, la avería y el piloto curtido". Todo un ejemplo de información veraz, rigurosa, fehaciente, fundamentada, documentada y carente de la lacra llamada morbo:

El transporte aéreo tiene el índice más bajo de mortalidad de cualquier medio. Más de 40 millones de pasajeros transitan por Barajas cada año. El último siniestro del aeropuerto madrileño ocurrió hace 25 años. Las aeronaves están sometidas a un exigente programa de mantenimiento. Antes de despegar, el piloto o un técnico realizan una inspección visual. Cada 24 horas (o un máximo de 48) se revisan los niveles y el equipo de emergencia, y cada 100 horas de vuelo o siete días, los inspectores llevan a cabo un reconocimiento de hasta tres horas. Además, en el aparcamiento se realizan revisiones mensuales, semestrales, y anuales, y cada 4.000 horas, los aviones hacen la gran parada, donde se desmontan todas sus partes. El año pasado se registraron 100 accidentes de aviones comerciales en el mundo. Sólo 20 tuvieron víctimas mortales, con 741 muertos. En el mismo periodo fallecieron en las carreteras españolas 2.742 personas.

Gracias amigo

miércoles, 20 de agosto de 2008

SSIS y ORACLE en plataformas de 64-bit

Hola a todos,

Hoy amiguitos os voy a contar una bonita historia sobre SSIS (SQL Server Integration Services) y Oracle en una plataforma de 64-bit a la hora de ejecutar unos jobs con el SQLAgent.

Resulta que haces un desarrollo en un entorno x86, crees que todo está perfecto y ¿sabes lo que pasa cuando lo llevas a producción en un entorno x64?... Exacto, que no funciona, que se producen errores y si no estás prevenido o encuentras la solución tu proyecto se puede ir rápidamente al traste.

Esto ocurre por lo siguiente:

En un entorno de 32-bits se instala BIDS(Business Intelligence Development Studio) de 32-bits, el cliente Oracle de 32-bits y DTEXEC (SQLAgent) de 32-bits. No hay problema.

Sin embargo, en entornos de 64-bits BIDS se instala de 32-bits (no hay versión de 64), Oracle de 64 y ya tenemos el primer problema. Primera solución: Instalar el cliente Oracle de 32 bit en la máquina de producción.

Pero esto provoca que cuando DTEXEC (de 64-bit) quiere ejecutar el ETL que llama al cliente Oracle (ahora de 32-bit) vuelve a fallas. HORROR!!!

La solución es no ejecutar con el SQLAgent SSIS directamente y utilizar CMDExec de 32-bits

Vaya lio, ¿no?

Venga, que con la información condensada es más fácil

- Instalar el cliente Oracle 10.2.0.1 versión de 32-bit

- Instalar el parche Oracle #4547817 (que actualiza a 10.2.0.2)

- Instalar el parche #5383042 (arregla el bug #3807408)

- Desarrollar con los paquetes con SSIS

- Ejectuar el ETL con CMDExec que usa la versión de 32-bit de DTEXEC (C:\Program Files(x86)\Microsoft SQL Server\90\DTS\binn). Próximamente en un post contaré como hacer esto y alguna cosa mas

Para terminar avisaros que los dos parches son de pago. Si, como lo lees, Oracle te hace pagar por arreglar un fallo en su aplicación, jajajaja. Y luego dicén de MS….

En fin, que a ver si con esto se solucionan vuestros problemas. Os dejo un link que me sirvió para ver la luz y poder hacer todo esto. Suerte!

http://portal.sqltrainer.com/2007/11/sql-server-integration-services-oracle.html

Salu2

lunes, 18 de agosto de 2008

"Hello, you either have JavaScript turned off or an old version of Macromedia's Flash Player. Get the latest flash player."

Hola a todos,

Desde hace unos días cuando intentaba abrir un vídeo del Youtube con mi Windows Vista me salia este mensaje: Hello, you either have JavaScript turned off or an old version of Macromedia's Flash Player. Get the latest flash player." y no podía visualizar ningún vídeo. Tras indagar un poco por Internet he visto la siguiente solución:

- Desinstalar completamente Flash Player.
http://kb.adobe.com/selfservice/viewContent.do?externalId=tn_14157 (Información)
http://download.macromedia.com/pub/flashplayer/current/uninstall_flash_player.exe (Aplicación)

-Reiniciar

- Ir al sitio de Adobe e instalar Flash Player de nuevo
http://www.adobe.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash (Desmarcar "Barra Google gratuita" para que no la instale)

- Finalmente instalar Flash Player ActiveX Manual Installer
http://www.adobe.com/support/flashplayer/ts/documents/tn_19166/Install_Flash_Player_9_ActiveX.zip

- Reiniciamos y ya debería funcionar

No obstante si aun así tuvierais problemas hay una página en el propio Youtube con instrucciones que nos pueden ayudar
http://help.youtube.com/support/youtube/bin/answer.py?answer=57669&src=top5&lev

Espero que os sirva de ayuda

Salu2

lunes, 28 de julio de 2008

Nuevo Blog

Hola a todos,

Hoy quiero presentaros un nuevo blog de un compañero mio que promete darnos bastante información, sobre todo útil, de CRM.

http://www.ms-dynamics-crm.blogspot.com/

Le deseo lo mejor

Salu2

martes, 1 de julio de 2008

10 best practices SSIS

En el post anterior he comentado algo sobre las 10 mejores prácticas de Integration Services. Via http://geeks.ms/blogs/elbruno/archive/2007/05/23/10-best-practices-para-sql-server-integration-services.aspx (el bruno) os indico cuales son:

  1. La Reutilización es una de las capacidades más aprovechadas dentro de SSIS. En otras palabras, podemos hablar de paquetes standards que pueden ser reutilizados en diferentes entornos de desarrollos ETL. Dentro de SSIS, esto puede lograrse utilizando templates. Los SSIS templates packages, son paquetes reutiilzables que pueden ser utilizados en cualquier proyecto una cantidad ilimitada de veces. Para más información consultar http://support.microsoft.com/kb/908018
  2. Es recomendavle evitar la utilización de puntos (.) en los nombres de los paquetes. La utilización de puntos se cruza con la nomenclatura de nombres que utiliza SQL Server y por lo tanto debe ser evitada. Un buen approach consiste en la utilización de guión bajo (_) en lugar de punto (.). Además es conveniente asegurarse que los nombres de los paquetes no excedan los 100 caracteres de largo. Durante el despliegue de los packages, los caracteres que excedan el largo de 100, serán quitados del nombre. Esto puede ocasionar que el SSIS package tenga errores durante el período de ejecucion, especialmente cuando se utiliza "Execute Package Tasks" dentro de otro paquete.
  3. El flujo de datos de en un paquete es una tarea intensiva para la memoria, en cada uno de los pasos y a nivel componente debemos revisar cuidadosamente que no estamos pasando columnas innecesarias en el flujo de datos. Esto ayuda en evitar tiempos adicionales del tiempo total de ejecución del paquete y adicionalmente mejora el funcionamiento total de la ejecución del paquete.
  4. Mientras se configura a cualquier conexion OLEDB como fuente, se debe evitar usar "Table or View" como el modo de acceso de los datos, éste es similar al "SELECT * FROM <TABLE_NAME>", y como la mayor parte de nosotros sabe, "SELECT *" es nuestro enemigo, esta sentencia toma en cuenta todas las columnas incluyendo las que incluso no se requieren. Intentar siempre utilizar el modo "SQL Command" como modo de acceso de los datos e incluir solamente los nombres de las columnas requeridas en la declaración "SELECT". De esta manera se evita pasar columnas innecesarias en flujo de datos.
  5. En los Data Flow Tasks, utilizar muy cuidadosamente el Flat File Connection Manager, crear un Flat File Connection Manager con la configuración por defecto utilizará el tipo de datos [DT_STR] por defecto para todos los valores de la columna. Ésta no es siempre la opción correcta porque porque puede existir algun tipo de dato numérico, número entero o columnas boleanas en la fuente, pasándolo como string en el flujo hacia abajo se utilizaría memoria innecesaria y puede causar cierto errores en las fases posteriores de la ejecución del paquete.
  6. El ordenar datos es una operación que consume mucho tiempo; en SSIS puedes ordenar los datos que vienen desde un componente superior utilizando un 'Sort transforming', no obstante esto es una tarea que consume mucha memoria y el resultado degrada el funcionamiento total de la ejecución del paquete. Como mejor práctica, en los lugares en donde sabemos que los datos están viniendo de las tablas de la base de datos SQL Server, es mejor realizar la operación de ordenar los mismos en motor de la base de datos utilizando una sentencia TSQL dentro del Query apropiado. Esto es mucho mejor porque el ordenamiento de datos en la base de datos es una tarea mucho mas refinada y depurada en SQL Server.
  7. Durante el desarrollo de los paquetes de SSIS, la mayor parte del tiempo uno tiene que compartir su paquete con otros miembros del equipo o uno tiene que desplegar el mismo paquete a cualquier otro desarrollador, UAT o entorno de producción. Una cosa que un desarrollador tiene que cerciorarse es utilizar el nivel correcto de la protección del paquete. Si alguien va con el nivel de la protección del paquete del defecto 'EncryptSenstiveWithUserKey' entonces el mismo paquete no pudo ejecutarse según lo esperado en otros ambientes porque el paquete fue cifrado con la llave personal del usuario. Para hacer la ejecución del paquete común a través de diferentes entornos, uno tiene que primero entender el comportamiento de la característica del nivel de la protección del paquete, es aconsejable leer http://msdn2.microsoft.com/en-us/library/microsoft.sqlserver.dts.runtime.dtsprotectionlevel.aspx. Generalmente, para evitar los errores mas comunes durante el despliegue de paquetes a partir de un sistema a otro sistema, fijar la protección del paquete a 'DontSaveSenstive'.
  8. Una buena práctica es utilizar Secuence Containers en paquetes de SSIS para agrupar diversos componentes en el 'Control Flow Level'. Esto ofrece_
    1. Proporciona un scope para las variables de un grupo de tareas relacionadas y de los contenedores que puede ser utilizado.
    2. Proporciona la facilidad para manejar las propiedades de múltiples tareas fijando la propiedad en el 'Secuence Container Level'
    3. Proporciona facilidad para definir el nivel de aislamiento de la transacción del sistema en el Container Level.
      Para más información sobre los envases de la secuencia, ver por favor http://msdn2.microsoft.com/en-us/library/ms139855.aspx.
  • Si estás diseñando una solución de ETL para una pequeña, media o grande parte del negocio de una empresa, siempre es bueno tener una característica que permita reiniciar los paquetes fallados a partir del punto de la falla. SSIS tienen una característica de fábrica llamada 'Checkpoint' para soportar el reinicio de paquetes fallidos desde el punto de la excepción. Sin embargo, es necesario configurar la característica del Checkpoint en el nivel del paquete. Para más información, ver http://msdn2.microsoft.com/en-us/library/ms140226.aspx.
  • Excecute SQL Task es nuestro mejor amigo en SSIS; podemos utilizar esto para ejecutar una declaración simple o múltiple de sentencias SQL a la vez. La belleza de este componente es que puede retornar resultados en diferentes formatos, por ejemplo: single row, full row set y XML. Puedes crear diversos tipo de conexiones usando este componente como OLEDB, ODBC, ADO, ADO.NET y SQL Mobile. Personalmente prefiero utilizar este componente la mayor parte del tiempo con mis sentencias FOR EACH para definir las iteraciones y verificar si ejecuto la tarea SQL. Para más información, ver http://msdn2.microsoft.com/en-us/library/ms141003.aspx y http://www.sqlis.com/58.aspx.
    1. Espero os sean de utilidad

      Salu2

      SSIS y Query Oracle con parametros

      O lo que es lo mismo "SSIS Query Oracle with parameters" :-)

      Escribo este post porque despues de pegarme mucho (muchiisimo) con SSIS (Integration Services) y Oracle para poder hacer una consulta en un OLEDBSource Task (Origen OLDB) con parámetros he conseguido encontrar la solución.

      Lo primero es crear una variable que contenga la consulta y tantas variables como parámetros. En propiedades indicar lo siguiente:
      - Evaluate as Expression en propiedades a True
      - Expression Property: "select xxx from xxx where job = '" + @[User::NbVariable] + "'"

      Por su parte el Origen OLDB lo configuraremos para que el access mode sea a SQL Command de Variable e indicaremos la variable definida anteriormente.

      Si pinchamos en vista previa veremos que nos devuelve los datos.

      el post que me ha ayudado.... http://forums.microsoft.com/TechNet/ShowPost.aspx?PostID=1530650&SiteID=17

      Curiosamente ademas es una de las 10 best practices

      Proximamente comentaré algo sobre ejecutar un paquete de SSIS en una maquina de x64 atacando a un oracle x64 sin el driver de Oracle OLEDB de x32

      Salu2