viernes, 30 de enero de 2009

Nueva máquina virtual de BI de Microsoft

Hola a todos,

Noticia rápida: Nueva máquina versión (la 7.0) de la máquina virtual de BI de MS.

Mas detalles en:
http://denglishbi.spaces.live.com/blog/cns!CD3E77E793DF6178!832.entry

Yo la estoy descargando ahora mismo!!!

Salu2

jueves, 8 de enero de 2009

Cambiar items en los filtros PPS

Hola de nuevo,

Hacia tiempo que no escribía nada sobre PPS y hoy tengo una entrada de esas que te hacen estar unos pocos días rompiéndote la cabeza.

Situación: filtro con un número muy alto de items en el mismo.
Error: No se muestran más que unos pocos (500?) y no hay ningún sitio en el DashBoard Designer ni por ningún lado donde se pueda cambiar este valor
Solución: Gracias al siguiente post (y a Daniel Olaya) tenemos la solución: http://blogs.msdn.com/performancepoint/archive/2008/01/17/changing-the-limit-on-the-number-of-items-returned-in-a-filter.aspx

Añadir/modificar en los siguientes web.config

SharePoint Site
C:\Inetpub\wwwroot\wss\VirtualDirectories\80\web.config
Preview Site
C:\Program Files\Microsoft Office PerformancePoint Server\3.0\Monitoring\PPSMonitoring_1\Preview
Web Service
C:\Program Files\Microsoft Office PerformancePoint Server\3.0\Monitoring\PPSMonitoring_1\WebService

La siguiente línea:

<add key="Bpm.TreeViewControlMaxNumRecordsToRender" value="600" />

Siendo el value el número de items que deseamos mostrar (500, 600, 3000...). Eso si, hay que tener cuidado ya que penaliza el rendimiento.

<mode ironic=ON> Como veis, una solución muy intuitiva y fácil de descubrir por uno mismo verdad? <mode ironic=OFF>

Espero os sea muy útil.

Salu2

Sobre ASP.NET, C#, JavaScript, Alert y MessageBox

Hola a todos,

Hoy un post útil y sencillote pero que siempre que me toca hacer algo parecido me tiro más de 15 minutos buscando en Google como hacerlo. Si os fijais en el título del post más o menos quedará claro: sacar un MessageBox o un Alert desde una página aspx o ASP.NET justo antes de hacer un redirect (un ejemplo es el típico caso en que envias un email y a quieres que salga un mensaje y a continuación te redirija a otra página).

El único código que nunca falla y por ende siempre funciona es el siguiente:

Importamos System.Text y

StringBuilder sbScript = new StringBuilder();
sbScript.Append("<script language='JavaScript' type='text/javascript'>");
sbScript.Append("alert('HolaMundo');window.location='./default.html'");

bScript.Append("</script>");
// Con el ScriptManager registramos el script anterior.

Page.ClientScript.RegisterStartupScript(this.GetType(), "@@@@MyCallBackAlertScript", sbScript.ToString(), false);

Probad, probad.... nunca falla! :-D

Salu2

lunes, 22 de diciembre de 2008

SQL Server 2005: crear tabla con datos

Hola de nuevo,

Hoy me tiro a la piscina y escribo una entrada sin estar muy seguro de lo que escribo :-P

Yo recuerdo que en Sql Server 2000 se podía crear un script que me generaba la base de datos con las tablas y los datos. En Sql Server 2005 no he encontrado esa opción por ningún lado y si alguien me sabe decir como se hace de una forma rápida se lo estaré eternamente agradecido.

El caso es que como me he empeñado en hacer eso he perdido parte de mi tiempo buscando y preguntando al señor Google y al final lo he conseguido siguiendo estos pasos (gracias a este post http://blog.sqlauthority.com/2007/11/16/sql-server-2005-generate-script-with-data-from-database-database-publishing-wizard/)

Para conseguir un script que me permita crear una base de datos con sus tablas y - lo más importante - sus datos es necesario descargarse de la web de MS la app "Microsoft SQL Server Database Publishing Wizard 1.1"

http://www.microsoft.com/downloads/details.aspx?FamilyId=56E5B1C5-BF17-42E0-A410-371A838E570A&displaylang=en

Esta pequeña duplicación es un asistente igual que los de Sql Server que me permite seleccionar una base de datos, sus tablas y la forma de exportar: Sólo Esquema, sólo datos o esquema y datos

Y como Gon es tu amigo... problema resuelto!

Salu2

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