![]() |
conexion mediante ODBC a la base de datos mysql, por linea de codigo de delphi
hola que tal.
quisiera saves como conectarme ala base de datos de mysql mediante ODBC pero mediante codigo en delphi sin la nesesidad de haserlo manual mente desde el origenes de datos de windows. he hecho algo paresido mediante visual fox que se conecta a la base de datos mediante ODBC pero sin crear ningun DNS. y asi poder insertar ( inser), borrar (delete) y modificar (update) me diante codigo sql la base de datos. es asi el codigo: lcServer="localhost" lcDatabase="prueva" lcUser = "root" lcPassword = "" lcStringConn="Driver={MySQL ODBC 3.51 Driver};Port=3306"+; ";Server="+lcServer+; ";Database="+lcDatabase+; ";Uid="+lcUser+; ";Pwd="+lcPassWord a=SQLSTRINGCONNECT(lcStringConn) ?SQLEXEC(a,"insert into clientes(nombre,apellido) values (?thisform.nom.value,?thisform.ape.value)") ahi la posibilidad de haser esto desde el delphi? de hante mano gracias |
Aunque no respondo a tu pregunta, ¿es absolutamente necesario que uses ODBC habiendo componentes gratuitas como Zeos que te dan acceso nativo y más eficiente a MySql que através de ODBC?
// Saludos |
hola que tal
es mejor usar zeos que ODBC? le problema es que no se que es zeos gracias |
Cita:
Cita:
Cita:
Para usar Zeos simplemente tienes que colocar una componente TZeosConnection y asignar sus parámetros:
Usa su propiedad Connected para abrir la conexión. A esta componente le puedes conectar distintas componentes para acceder a los datos como son TZReadOnlyQuery, TZQuery yTZTable. Yo normalmente uso TZQuery- totalmente similar al conocido TQuery del BDE - pero bien puedes usar TZReadOnlyQuery si no requieres actualizar la consulta. TZTable no es más que un TZQuery con "select * from tabla" así que no lo recomiendo como no sea para tablas muy pequeñas. Un TZQuery es, como dije antes, muy similar a un TQuery. Simplemente tienes que poner la consulta en su propiedad SQL y asignarle la conexión TZConnection en su propiedad Connection. Para correr la consulta usas su método Open o ExecSQL dependiendo de si es una consulta SELECT o bien una consulta que no regresa datos (INSERT, DELETE, etc.) Estas componentes son descendientes de TDataSet de manera que las puedes conectar a cualquier componente db aware como DBEdit, DBGrid, DBLookupComboBox, etc. Cita:
// Saludos |
hola que tal
pues toy queriendo instalar el zeus ya segui todos los pasos pero la llegar al paso de: Load the project and install the following components in the order listed:
ya que dan activados. no pasa nada nosales las opciones. entonses mediante el delphi abri el archivo zcore.dpk entonses sale otro cuadro y sale la opcion install de doy clic en esta opcion pero me sale error que falta dos archivos "rtl" y "vcl". que son requeridos. como la ves? saludos |
Cita:
// Saludos |
hola que tal
asi es si le hise me marca que error [Fatal Error] ZCore.dpk(29): Required package 'rtl' not found. en la linea: "requires rtl, vcl;" |
Pues ¡vaya que es raro! ¿Qué le has hecho a tu sistema? :D
Asegúrate de que la ruta $(DELPHI)\Lib esté en Tools|Enviroment Options|Library|Library Path // Saludos |
ahhh es cierto
si estava mal la ruta esa gracias. si esta aplicacion hecha con zeos la pongo el red en la maquina del cliente nonmas tengo que poner los dll del mysql o todo? de hante mano gracias. |
hola que tal ya intale todo, y probe con una aplicacion de prieva y me marcar ee erroe con el "zconnection"
[Fatal Error] clientes.pas(7): File not found: 'ZDbcIntfs.dcu' entonses lo que hise fue copiar todo lo de la carpeta "c:\zeos\packages\delphi7\build" al direcctorio "C:\Archivos de programa\Borland\Delphi7\Lib" y ya funciono bien no se supone que al intalarlo se deven pasar estos archivos a ese directorio solo? de hante manoa gracias |
Cita:
En lugar de mandar todo a Lib debes agregar la ruta a c:\zeos\packages\delphi7\build en Tools|Enviroment Options|Library|Library Path Y ya que estés en eso, en el Browsing Path agrega las rutas a todos los subdirectorios de c:\zeos\src. Esto no es estrictamente necesario pero te servirá cuando requieras hacer un "debug" de la aplicación. Sirve para que el debugger encuentre los archivos fuentes. // Saludos |
Muy bien, pero veo que el hilo empezo con ODBC, y continuo con el componente Zeus, yo quiero utilizar la BD para algo muy básico...quiero recorrer un directorios y sus sub-directorios y almacenar en mysql los ficheros contenidos en ellos y luego poder acceder a ellos a traves de la tabla mysql...
¿alguna recomendación?...he mirado haber si hay tutoriales o manuales aqui de eso pero no los he visto, por eso os pido esta ayudita, que como es para algo básico, quizas podais echarme una mano....En fin, basicamente esto de mysql en delphi: - Crear una tabla - Rellenar la tabla - Acceder a la tabla GRACIAS |
Hola buenas, ya he conseguido instalar tanto mysql y Zeos sin problemas, pero al conectarme, coge bien root y password, pero en la fase de conexion me lanza la siuiente excepcion: 'SQL Error: Client does not support authentication protocol requested by server; consider upgrading MySQL client'
Supongo que se refiere a que no me soporta el protocolo 'mysql', nose como solucionarlo, el codigo que intento ejecutar es el ejemplo simple que viene en la carpeta examples\simple dentro de las librerias Zeos, que por cierto son una maravilla de la vida!. Un saludo, y a ver si alguien me hecha un cable! |
Cita:
Código:
update user Bye |
la verdad es que librerias, no se cual coge, segui los pasos de instalacion de Zeos, y copie las 3 librerias dll de mysql que vienen dentro del archivo zip de Zeos, mas concretamente estas 3 mysql40.dll, mysql320.dll, mysql323.dll que las he copiado en windows\system32.
El protocolo que esta usando Zeos, concretamente hay un combo que muestra los posibles, pero yo tengo elegido en este ejemplo el protocolo mysql, ya que mi objetivo es aprender a utilizar este protocolo en delphi, gracias a la maravilla de Zeos. Voy a probar lo que me has comentado de la contraseña, a ver si paso o no de esa excepcion!!. Luego os cuento!. GRACIAS |
Poniendo en el shell de mysql esas lineas que me dices me da el siguiente error: ERROR 1046: No database selected.
Porque me dice que no hay seleccionada ninguna BD?, si yo aun no he creado ninguna tabla ni nada, unicamente instale mysql y cree mi usuario! :-S....cachinssss |
Creeis que una solucion es desinstalar la version estable de mysql-4.1.10a-win32 que tengo instalada y probar a poner la 5 a ver si rula la autenticacion, o simplemente actualizo la .dll a otra que encuentre mas moderna, o que hago...
Es que he probado a hacer la conexion yo en plan simple como ha dixho Roman mas arriba y el error sigue siendo el mismo: 'SQL Error: Client does not support authentication protocol requested by server; consider upgrading MySQL client' |
Keyboy, he conseguido pasar la autenticacion, cambiando el protocolo de ZConnection a mysql-3.20, pero sigue fallando en la instruccion de crear la conexion:
Result := TZMySQLConnection.Create(Url, PlainDriver, HostName, Port, Database, UserName, Password, TempInfo); Puede ser pq no tengo ninguna tabla creada aun y el campo Database y TempInfo estan vacíos?? Pq ahora la excepcion si que es general...solo dice: 'Can not connect to SQL server' y mas concretamente es en el procedure 'TZMySQLConnection.Open' ¿Es que no se puede conectar uno al servidor sin tener aun una tabla creada?, porque entonces estoy apañao, ya que mi objetivo es crear la tabla en tiempo de ejecución! |
Cita:
Una de estas tablas es la tabla `user` en donde se almacenan los usuarios y contraseñas. Esta es la tabla que se actualiza con la instrucción UPDATE que te indicó keyboy. Pero no puedes realizar consultas a una base mientras no la selecciones. Así que antes de efectuar dicha consulta, en la línea de comandos de MySql, debes seleccionar la base `mysql`: Código:
mysql> use mysql |
gracias, ya he estado leyendo,y como bien dices esta la tabla 'mysql', mas otra que ya he creado yo para hacer pruebas que la llamo 'mydb', dentro de la cual he creado un par de tablas. Desde la linea de comandos, va de puta madre, las uso, creo tablas, meto registros, etc...mi problema es intentar hacerlo desde delphi con el componente ZConnection, que siempre da el error de Can not connect to SQL server!! en procedure TZMySQLConnection.Open;, y le da igual que antes haya entrado en el promp y haya hecho use mydb o no.
Es decir, desde la linea de comandos no hay problemas es en el codigo delphi. :-( |
La franja horaria es GMT +2. Ahora son las 21:38:58. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi