Ideas, vivencias y demás
Peru Blogs

December 1, 2008

MySQL + Reporting Services 2005

Filed under: Programación

Pues por aquí indicaba que postergaría el retomar el MySQL, y trabajaría con CodeIgniter y MSSQL 2005, sin embargo, como es esta una época de cambios (renuncié a la empresa en donde estaba, para irme a otra oportunidad laboral más interesante, mi vocho -del que algíun día subire alguna foto- esta ya casi terminando su mantenimiento, y a Perú lo desafilian de la FIFA), pues ahora estoy revisando Zend FrameWork + MySQL. Sin embargo, también alguna vez comente que el Reporting Services es muuuuuuuy facil de usar, y te aliviana el día a día en la época de reporteador, razón por la cual me desanimaba a dejar MSSQL para utilizar MySQL, sin embargo, al fin logré correr un storesito en MySQL y trabajarlo en el RS. Cómo, pues gracias al post de Charlie Voiselle (3er post).

Repetiré básicamente los mismos pasos agregándole un par de cosas que necesité hacer.

  1. Descargar MySQL .NET Connector, yo baje la versión 5.2
  2. Copié el archivo X:\Archivos de programa\MySQL\MySQL Connector Net 5.2.5\Binaries\.NET 2.0\MySql.Data.dll en X:\Archivos de programa\Microsoft SQL Server\MSSQL.3\Reporting Services\ReportServer\bin
  3. Modifiqué el archivo rsreportserver.config ubicado un nivel arriba de a donde copie el MySQL.Data.dll, y agregué en la sección Data: <Extension Name="MYSQL" Type="MySql.Data.MySqlClient.MySqlConnection,MySql.Data, Version=5.2.5.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d"/>
  4. Tal como indica en el post, la información del PublicKeyToken  se puede encontrar en X:\WINDOWS\Assembly, en las propiedades de la dll.
  5. Luego reiniciar el RS.
  6. Para que no haya problemas en el IDE cuando editemos nuestros DataSource, pues editamos el X:\Archivos de programa\Microsoft Visual Studio 8\Common7\IDE\PrivateAssemblies\RSReportDesigner.config, operando igual que con el rsreportserver.config.
  7. Hecho esto, abrimos el IDE y ya tendremos la opción para crear un Data Source MySQL. En realidad ya no probé a crearlo, porque edite uno existente con un editor de texto, poniéndole los parametros necesarios a la cadena de conexión.
  8. Y eso es todo, luego a crear nuestro store en MySQL, (como por ejemplo el siguiente), crear nuestro reporte y configurar nuestro DataSet. Eso si, según leí y me pasó, si te reconoce los Fields, pero no te autogenera los Parameters, (creo que en el MSSQL 2005 tampoco, yo siempre copio la consulta primero para que reconozca los parametros, y luego la cambio por el SP).
  9. El nombre de los parametros en el DataSource tiene que ser exactamente igual al parametro en la BD, el parámetro dentro del Layout ya no.

Ejemplo de store (esta feo, variables por ahi que no recuerdo en qué momento entraron :) ):

DELIMITER $$

DROP PROCEDURE IF EXISTS `requerimientos`.`getArchivos` $$
CREATE DEFINER=`usuario`@`localhost` PROCEDURE `getArchivos`(in
vari int)
BEGIN

declare variable1 int;

  set variable1 = vari;

  select * from archivo where id like variable1;
END $$

DELIMITER ;

Y así fue como pasó, jeje.

Comments »

The URI to TrackBack this entry is: http://luismarcel.blogsome.com/2008/12/01/mysql-reporting-services-2005/trackback/

No comments yet.

RSS feed for comments on this post.

Leave a comment

Line and paragraph breaks automatic, e-mail address never displayed, HTML allowed: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong>



Anti-spam measure: please retype the above text into the box provided.


Escribe lo de la imagen






















Get free blog up and running in minutes with Blogsome
Theme designed by Hadley Wickham