Conectar Crystal Reports con MySQL Server 5.1 en VB.NET
Una de las formas más comunes de conectar que eh encontrado acerca de como conectar Crystal Reports con MySQL en VB.NET, es a través de conexiones ODBC.
Open DataBase Connectivity (ODBC) es un estándar de acceso a Bases de datos desarrollado por Microsoft Corporation, el objetivo de ODBC es hacer posible el acceder a cualquier dato desde cualquier aplicación, sin importar qué Sistema Gestor de Bases de Datos (DBMS por sus siglas en inglés) almacene los datos, ODBC logra esto al insertar una capa intermedia llamada manejador de Bases de Datos, entre la aplicación y el DBMS
A continuación explico un poco cómo hacer esta conexión.
Nota: Para este tutorial se están utilizando el sistema operativo Microsoft Windows 7, Microsoft Visual Studio 2005 y MySQL Server 5.1, lo cual puede cambiar la apariencia de las ventanas con respecto a versiones anteriores.
Instalar el controlador ODBC
Para realizar la conexión necesitamos el conector ODBC de MySQL el cual podemos bajarnos de la siguiente dirección http://dev.mysql.com/downloads/connector/odbc/5.1.html
Crear la conexión ODBC en Windows
Una vez instalado el conector ODBC de MySQL realizamos lo siguiente.
Paso 1:
Nos dirigimos al panel de control de Windows (Inicio/ Panel de control) y seleccionamos la opción de Sistema y seguridad.

Paso 2:
Seleccionamos la opción de Herramientas administrativas.

Paso 3:
Seleccionamos la opción Orígenes de datos ODBC.

Paso 4:
Nos muestra una ventana donde podemos elegir qué tipo de conexión queremos, para nuestro caso seleccionaremos DNS de sistema y damos clic en Agregar.

Paso 5:
Nos pide el tipo de origen de datos, seleccionamos MySQL ODBC 5.1 Driver y damos clic en Finalizar.

Paso 6:
Configuramos los parámetros de nuestra conexión, como son:
Nombre, descripción, servidor, puerto, usuario, contraseña y base de datos.

Paso 7:
Una vez configurada la conexión nos aparece de nuevo en la ventana de conexiones de ODBC, la seleccionamos y damos clic en aceptar para crear por completo la conexión.

Configurar la conexión con Crystal Report en VB.NET
Paso 1:
Añadimos a nuestro formulario el elemento CrystalReporViewer ubicado en cuadro de herramientas en la sección de Crystal Reports.

Paso 2:
Ya insertado en el formulario, daremos clic en la pestaña de la parte superior derecha del mismo componente, se nos despliega una pestaña y damos clic en Crear un nuevo informe de Crystal Reports.

Paso 3:
Nos pide el nombre que le daremos a nuestro reporte dentro de nuestro proyecto.
Paso 4:
Después de establecer el nombre al reporte, se nos abre una ventana donde podremos elegir el tipo de documento que deseamos crear, para este caso seleccionamos la opción Usar el asistente de informes y el tipo Estándar.

Paso 5:
Seguido se nos muestra una ventana donde seleccionaremos que tipo de conexión estableceremos, como se menciono es de tipo ODBC, así que daremos un clic en el símbolo de + que tiene el tipo ODBC (RDO).

Paso 6:
Nos muestra los orígenes de datos de tipo ODBC que tiene Windows, como vemos aparece la que creamos previamente, la seleccionamos y damos clic en siguiente.

Paso 7:
Nos pide el nombre usuario y contraseña de nuestro MySQL, llenamos los campos y damos clic en Finalizar.

Paso 8:
Regresamos a la pantalla de inicio donde se nos muestran las tablas que tiene nuestra base de datos, la seleccionamos y damos clic en el botón de > para indicarle cual es la tabla que deseamos usar y damos clic en finalizar.

Una vez configurada nuestra conexión, en el Explorador de campos se nos muestra las tablas agregadas así como sus campos.

Lo único que resta es arrastras los campos a nuestro reporte según será nuestra conveniencia.

Y listo! Solo nos queda ejecutar nuestra aplicación.

El reporte lo podemos diseñar con imágenes, líneas, graficas, etc… Eso depende del tipo de reporte o del gusto del usuario.
Espero sea de gran ayuda, cualquier duda o comentario no duden hacerlas llegar con absoluta libertad.. Saludos!!
Quizá te interese :
Crear una Librería .dll La creación de una librería .dll en VB.NET es relativamente fácil, para ...
Anteriormente publiqué un tutorial sobre como conectar Crystal Report con Mysql en VB.NET http:/ ...
Para este tutoríal instalaremos postgresql-8.3 y postgresql-8.3-postgis desde el Gestor de paque ...









[...] http://www.ubicuos.com/2010/04/26/conectar-crystal-reports-con-mysql-server-5-1-en-vb-net/ AKPC_IDS += "3812,"; [...]
Muy bien expilicado. Felicidades y muchas gracias.
Doctor que tal quisiera poder contactarme con ud, tengo una duda sobre un articulo que hizo sobre mysql con crystal reports.
http://www.ubicuos.com/2010/04/26/conectar-crystal-reports-con-mysql-server-5-1-en-vb-net/
el problema que tengo es que ud lo ha hecho sin parametros pero cuando yo quiero hacerlo con ellos …. me da el sgte error …
“ERROR de motor de consulta:’hy000′: Mysql odbc 5.1 driver …. incorrect number of arguments for procedure ……expected 4, got 0″
espero que me puedas ayudar es bien importante para mi y gracias por el articulo
Roger, ese parece ser un error muy documentado de MySql cuando se conecta con Crystal vía ODBC.
Recomendación actualiza tu conector a la última versión (respondenos con las versiones del software que ocupas), se sabe que Crystal Reports en versión menor a la 11, muestra este comportamiento.
Esta referencia te puede ubicar.
http://bugs.mysql.com/bug.php?id=39204
Saludos!
[...] publiqué un tutorial sobre como conectar Crystal Report con Mysql en VB.NET http://www.ubicuos.com/2010/04/26/conectar-crystal-reports-con-mysql-server-5-1-en-vb-net/, ahora les presento una forma de agregar un store procedure a nuestro reporte y pasarle un [...]
Este procedimiento lo puedo hacer, Pero tengo un problema con la version de Windows 7, despues de instalar el conector ODBC 5.1 al tratar de hacer una nueva conexion por el panel de control me sale el siguente error “No se puede encontrar las rutinas de instalacion para el controlador ODBC MySQL ODBC 5.1 Driver.”. Podria decirme cual es la causa de este error???
Gracias por el aporte.
Hola, capo, mira quería consultarte porque mi problema es que quiero personalizar la query, porque de este modo que explicas me trae todos todos los datos de las tablas, y yo quiero filtrarlos, por ejemplo , todos las auditorias realizadas por una persona, pero asi me tira todo de todos… podrias explicarme como hacer??? Desde ya muchas gracias!
Hola.. puedes resolver tu problema de la siguiente manera..
Siguiendo el ejemplo de ubicuos.com, en el método Load de VB.NET puedes poner lo siguiente:
Me.CrystalReportViewer1.SelectionFormula = “{person.id} = 4″
Me.CrystalReportViewer1.RefreshReport()
Para que tengas una idea, eso te regresa todos los registros de la tabla person que tengan como id = 4
Espero resuelva tu duda.. sino puedes seguir preguntando en ubicuos.com
Exelente justo lo que andaba buscando.
Muchas gracias me fue de gran utilidad….
Gracias por tomarte el tiempo y compartir lo que sabes…=)
Oye amigo si me pudieras ayudar de manera urgente, yo tengo un problema en conectar “Cristal Report & Visual Basic .Net 2008 profesional” y “MySQL 5.1.39-winx64″, estoy usando el “mysql-conector-ODBC 5.1.6-winx64″, mi Sistema operativo es “Windows 7 Ultimate x 64(7600)”, hago todo el procedimiento tal cual lo has planteado, pero al momento de crear un nuevo reporte en Crystal R no me aparece en la opcion ODBC(RDO) la conexion creada en Origenes de Datos ODBC si lo hago mediante DSN del Sistema, tengo que crear la conexion mediante DSN de usuario y asi ya me aparece el origen de datos en el paso 6, pero al pasar al paso 7 y darle click en finalizar me manda el siguiente mensaje:
La conexion no es posible.
Deatlles:IM014[Microsoft][Administrador de controladores ODBC]La Arquitectura del DSN especificado no coincide entre el controlador y la aplicación.
Ayudenme porfa, ya busque en la web y no encuentro nada referido a este mensaje que arroja el crystal desde VB.Net 2008, si encuentro la solucion antes la publicare aca.
Saludos Charly, ese error es común cuando utilizas drivers de 32bits en un sistema de 64bits y viceversa.
Los drivers de .Net específicamente.
Y el error está detallado, aquí http://msdn.microsoft.com/en-us/library/ms712362%28VS.85%29.aspx
Intenta crear tu DNS usando esta utilería: c:\windows\sysWOW64\odbcad32.exe
Gracias por la respuesta, ya encontre una manera mas larga pero mas segura de conectar vb.net 2008 Pro & crystal report & mysql 5.1, eso de las configuraciones nunca me a gustado, prefiero la manera rudimentaria “Por codigo” y usar lo menos posible configuraciones.
Como sugerencia, tener los datos de configuración en un XML, archivo INI o el registro es una mejor forma de almacenar configuraciones, sobre todo por que .Net hace bastante cómodo trabajar con archivos de configuración.
Excelente solucion esta muy buena la cual lo aplique en VS 2010 para el lenguaje de Visual Basic y funciono muy bien.
Gracias totales
Yo tambien estoy usando Windows 7 64bits y me surge este error Deatlles:IM014[Microsoft][Administrador de controladores ODBC]La Arquitectura del DSN especificado no coincide entre el controlador y la aplicación.
Alguien podría ayudarme al respecto?
Muchas gracias Daniel!!!creé desde la utilería c:\windows\sysWOW64\odbcad32.exe.. y ahora ya pude imprimir un reporte muy sencillo.. Se sirvió bastante esto
Hola… nose si puedas ayudarme… ya pude hacer la conexion de mysql con crystal… pero solo me aparecen las tablas que tengo en mi base y no los procedimientos… que me falta hacer… segui tus pasos para la conexion….
exelente tutorial jejejeje
urgente¡¡estoy tratando de instalar el driver del mysql para poder crear su origen de datos en inicio/configuracion/panel de control…le doy clic en agregar y no aparece Mysql x ningun lado ,he instalado desde la misma pagina de Mysql la version 5, tengo windows xp , service pack 3 ,nada de nada …que puedo hacer ?????de veras q lo necesito re re re rere urgente ¡¡¡
Estás bajando el driver correcto?
Tu debes de utilizar el driver ODBC, para conectarte, pero también requieres un server para terminar la conexión.