Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 14-07-2015
DenisDiaz DenisDiaz is offline
Miembro
 
Registrado: feb 2007
Posts: 55
Poder: 18
DenisDiaz Va por buen camino
Conectar Delphi 6 a MySQL 5

Buenas tardes,

Quisiera saber si alguno de ustedes ha tenido la experiencia de conectar una aplicación en Delphi 6 a MySQL en su versión 5 usando ODBC y si es el caso cual sería la versión de driver ODBC que lo permite y no genera problemas.

Muchas gracias.
Responder Con Cita
  #2  
Antiguo 16-07-2015
lgarcia lgarcia is offline
Miembro
 
Registrado: jul 2004
Posts: 479
Poder: 20
lgarcia Va por buen camino
Conectar Delphi 6 a MySQL 5

Yo probe con mysql-connector-odbc-5.2.6-win32.msi en Deplhi XE2 y trabajo bien, esa debe servirte tambien.

Saludos
Luis Garcia
Responder Con Cita
  #3  
Antiguo 16-07-2015
DenisDiaz DenisDiaz is offline
Miembro
 
Registrado: feb 2007
Posts: 55
Poder: 18
DenisDiaz Va por buen camino
Gracias

Muchas gracias, probaré y le cuento. Saludos
Responder Con Cita
  #4  
Antiguo 24-08-2015
DenisDiaz DenisDiaz is offline
Miembro
 
Registrado: feb 2007
Posts: 55
Poder: 18
DenisDiaz Va por buen camino
Unhappy Problema

Buenos dias.
Aun tengo el problema que les mencionaba, necesito conectar una app hecha en Delphi 6 a MySQL version 5. La conexión que uso es por ODBC. Lo raro que me ocurre es que tengo dos aplicaciones en delphi 6 que se conectan igual, una se conecta bien y la otra no se conecta bien, la que no se conecta cuando hago un select me devuelve solo algunas columnas y no todas, no entiendo que pueda pasar pues las dos aplicaciones son muy similares y se conectan de la misma forma, alguien ha lidiado con este problema?
Muchas gracias por sus respuestas.
Responder Con Cita
  #5  
Antiguo 24-08-2015
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.038
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por DenisDiaz Ver Mensaje
una se conecta bien y la otra no se conecta bien, la que no se conecta cuando hago un select me devuelve solo algunas columnas y no todas
Salvo que la base de datos esté estropeada, lo que dices no puede ser. Un select devuelve los registros que tenga que devolver, siempre los mismos, ni más ni menos.
Responder Con Cita
  #6  
Antiguo 24-08-2015
DenisDiaz DenisDiaz is offline
Miembro
 
Registrado: feb 2007
Posts: 55
Poder: 18
DenisDiaz Va por buen camino
Respuesta

Hola.
Entiendo que no le vea sentido, pero así ocurre, debe ser debido a que la base de datos es mysql version 5 y el delphi es version 6. La base de datos está bien, si ejecuto consultas con un cliente me devuelve bien la informacion, pero desde delphi no me devuelve algunas consultas, lo único que se me ocurre que sea debido a las versiones pero lo más raro es que desde otra aplicacion de delphi 6 con la misma conexion por ODBC si funciona bien.
Responder Con Cita
  #7  
Antiguo 24-08-2015
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.038
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por DenisDiaz Ver Mensaje
Entiendo que no le vea sentido, pero así ocurre,
No, si el problema no es que no le vea sentido, el problema es que no nos has dado ninguna información para poder ayudarte. Ya sabes, no somos adivinos ni podemos ver tu ordenador desde aquí
Responder Con Cita
  #8  
Antiguo 24-08-2015
Avatar de AgustinOrtu
[AgustinOrtu] AgustinOrtu is offline
Miembro Premium
NULL
 
Registrado: ago 2013
Ubicación: Argentina
Posts: 1.858
Poder: 15
AgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en bruto
No se puede usar Zeos en delphi 6?
Responder Con Cita
  #9  
Antiguo 24-08-2015
DenisDiaz DenisDiaz is offline
Miembro
 
Registrado: feb 2007
Posts: 55
Poder: 18
DenisDiaz Va por buen camino
respuesta

Hola, les explico un poco mejor el problema.
Tengo dos aplicaciones hechas en delphi 6 y que llevan años trabajando con mysql version 4. Ahora se me hace necesario actualizar la version de mysql de la 4 a la 5, por lo que migré la base de datos a la version mysql 5. Uno de los programas funciona bien, pero el otro me daba errores y encontré que se debe a que no ejecuta bien las consultas, por ejemplo, en la base de datos tengo:
tabla sedes
campos
- id integer
- nombre varchar (30)
- direccion varchar (40)
- telefono varchar (20)
Cuando desde el programa ejecuto la consulta "select * from sedes" me devuelve solo las columnas id y direccion, omite columnas que existen.
Sé que no es un problema de la base de datos porque puedo acceder a ella por medio de SQLYog y al ejecutar la misma consulta obtengo todas las columnas, por lo que el problema parece estar relacionado con la comunicacion delphi-odbc-mysql.
Ambos programas se conectan a la base de datos por medio de ODBC por medio del componente TDatabase.

usar ZEOS es posible, pero implicaria bastantes modificaciones al programa.
Responder Con Cita
  #10  
Antiguo 24-08-2015
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.038
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Prueba simplemente poniendo un componente nuevo en el formulario, la setencia sql y lo enlazas con un datasource a un dbgrid cualquiera. Tiene que funcionar.

Cita:
Empezado por DenisDiaz Ver Mensaje
... me daba errores ...
Seguimos igual, sin ser adivinos ¿qué errores?
Responder Con Cita
  #11  
Antiguo 24-08-2015
DenisDiaz DenisDiaz is offline
Miembro
 
Registrado: feb 2007
Posts: 55
Poder: 18
DenisDiaz Va por buen camino
Respuesta

Lo que hice fue eso, tengo un formulario donde escribo la consulta SQL y muestro el resultado en un Grid y veo que muestra solo algunas columnas. Los errores que mencionaba era debido a esto mismo, al solo cargarse algunas columnas el programa daba error al no encontrar el resto de las columnas, es decir, el error es uno solo y es que no muestra todas las columnas.
Responder Con Cita
  #12  
Antiguo 24-08-2015
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola DenisDiaz.
Cita:
Empezado por DenisDiaz Ver Mensaje
Lo que hice fue eso, tengo un formulario donde escribo la consulta SQL y muestro el resultado en un Grid y veo que muestra solo algunas columnas. Los errores que mencionaba era debido a esto mismo, al solo cargarse algunas columnas el programa daba error al no encontrar el resto de las columnas, es decir, el error es uno solo y es que no muestra todas las columnas.
Si no muestra todas las columnas de la tabla es por que no has incluido las ausentes en la instrucción SELECT.

Es decir, supongamos que tu consulta es así:
Código SQL [-]
SELECT CAMPO1, CAMPO3, CAMPO4 FROM TABLA
Es lógico que no puedas acceder a CAMPO2 ya que no fué incluido en SELECT.

Podes hacer dos cosas:

Incluir la/las columnas que deseas que aparezcan,
Código SQL [-]
SELECT CAMPO1, CAMPO2, CAMPO3, CAMPO4 FROM TABLA
O incluir todas,
Código SQL [-]
SELECT * FROM TABLA

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #13  
Antiguo 25-08-2015
DenisDiaz DenisDiaz is offline
Miembro
 
Registrado: feb 2007
Posts: 55
Poder: 18
DenisDiaz Va por buen camino
Pruebas

Hola de nuevo, ya encontré la causa del problema. Las columnas que están creadas con:
Código SQL [-]
character set latin1 collate latin1_spanish_ci
Son las que no se me muestran al seleccionarlas, por ejemplo:
Código SQL [-]
`nombre` varchar(255) character set latin1 collate latin1_spanish_ci default '',
`color` varchar(50) default '',
En esos dos campos se muestra solo el llamado "color", el llamado "nombre" no se muestra en el select.
Para confirmar eliminé la tabla y la creé sin la especificacion (character set latin1 collate latin1_spanish_ci) y me funcionó bien, por tanto asumo que es un problema de compatibilidad en ese aspecto.
Al parecer hay otros problemas que estoy detectando, no parece buena idea seguir buscando conectar esa aplicacion en delphi 6 a mysql 5.
Que opinan? Muchas gracias.

Datos adicionales:
Cita:
Aplicacion en Delphi 6 y 7

MySQL version 5.5

ODBC: mysql-connector-odbc-5.1.13-win32.msi
Consulta que ejecuto:
Código SQL [-]
select * from fcia_sedes
Error que me da:
Cita:
Query1: Field 'nombre' not found
Si muestro los resultados en un Grid me muestra solo algunas columnas, no muestra la columna llamada "nombre"

Tabla que uso de pruebas:
Código SQL [-]
CREATE TABLE `fcia_sedes` (
  `id` int(11) NOT NULL auto_increment,
  `nombre` varchar(20) character set latin1 collate latin1_spanish_ci NOT NULL default '',
  `descrip` varchar(255) character set latin1 collate latin1_spanish_ci default '',
  `color` varchar(40) default '',  
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

Última edición por nlsgarcia fecha: 25-08-2015 a las 20:47:08. Razón: Sintaxis SQL
Responder Con Cita
  #14  
Antiguo 25-08-2015
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.038
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por DenisDiaz Ver Mensaje
no parece buena idea seguir buscando conectar esa aplicacion en delphi 6 a mysql 5.
Delphi 6 funciona perfectamente con mysql 5.
El problema que tienes es con los componentes, con la configuración, con ... ni idea, porque no tenemos tu base de datos, tu código fuente, etc.
Responder Con Cita
  #15  
Antiguo 25-08-2015
Avatar de elaguna
elaguna elaguna is offline
Miembro
 
Registrado: abr 2009
Ubicación: México
Posts: 51
Poder: 16
elaguna Va por buen camino
Lo que aquí parece haber es un problema de configuración con el servidor y/o el modo en que tratas los datos en tus aplicaciones.

Utilizas:
Código SQL [-]
set latin1 collate latin1_spanish_ci

supongo que es por la cuestión de los acentos y las ñ's, en ese caso lo que te sugiero es que configures tu nuevo servidor para usar UTF-8, con esto creas tus bases y tablas sin tener que definir la codificación para cada campo.

Saludos.
__________________
No lo intentes!. Hazlo o no lo hagas, pero no lo intentes !!! (Yoda)
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Conectar Delphi con MySql Javi.ms Varios 1 10-01-2013 16:20:25
Conectar delphi con Mysql redespunk MySQL 19 20-02-2009 16:18:44
conectar mysql y delphi 5 MOCOSO07 Conexión con bases de datos 5 13-03-2008 20:59:10
Conectar MySql con delphi Ubed Conexión con bases de datos 11 03-10-2007 19:20:40
conectar delphi y mysql gulder Conexión con bases de datos 1 03-04-2006 16:32:50


La franja horaria es GMT +2. Ahora son las 23:28:40.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi