¿Qué puede ser?

| ||||
Re: Consulta en MySQL desde VB6 se comporta de forma lenta Si te funciona bien desde phpMyAdmin y lento en VB, debe ser el conector ODBC que estas haciendo o simplemente el mismo VB. Disculpa, pero por lógica se ve que el problema no es el motor de BD.
__________________ NO PERDAMOS NUESTRO LINDO IDIOMA ESPAÑOL |
| ||||
Re: Consulta en MySQL desde VB6 se comporta de forma lenta BrujoNic, claro que no es el motor de base de datos. Quisiera saber si a alguien le ha pasado esto y que ha hecho para resolvero. Yo tengo instalado el MyODBC 3.51. Acabo de ver el MyODBC 5.1. Veré si este resuelve el problema y les dejo saber.
__________________ .::RsOfT::. --El que se aferra a lo conocido, nunca conocerá lo desconocido-- --Es intentando lo imposible como se realiza lo posible-- --Es de pésimo gusto contentarse con algo mediocre cuando lo excelente está a nuestro alcance-- |
| ||||
Re: Consulta en MySQL desde VB6 se comporta de forma lenta He instalado la versión "MyODBC 5.1". Realmente ya me funciona super rápido, pero no logro encontrar un ConnectionString que me permita conectarme de forma remota. Solo funciona si la base de datos está local. El ConnectionString que utilicé para realizar mis pruebas es: "Provider=MSDASQL.1;Persist Security Info=False;Data Source=dbContab". Este solo funciona de forma local, no puedo especificarle otro servidor. Para tratar de conectarme a otro servidor intenté con este: "DRIVER={MySQL}; SERVER=localhost; DATABASE=dbContab; user=usuario; pwd=clave" , pero no funciona. También intenté con: "DRIVER={MySQL ODBC 5.1 Driver};SERVER=localhost;DATABASE=dbContab;USER=Us uario;PASSWORD=Clave ;OPTION=8;", pero tampoco funciona. ![]() ¿Alguna idea? ![]()
__________________ .::RsOfT::. --El que se aferra a lo conocido, nunca conocerá lo desconocido-- --Es intentando lo imposible como se realiza lo posible-- --Es de pésimo gusto contentarse con algo mediocre cuando lo excelente está a nuestro alcance-- |
| ||||
Re: Consulta en MySQL desde VB6 se comporta de forma lenta Cita:
Iniciado por RsOfT ![]() Para tratar de conectarme a otro servidor intenté con este: "DRIVER={MySQL}; SERVER=localhost; DATABASE=dbContab; user=usuario; pwd=clave" , pero no funciona. También intenté con: "DRIVER={MySQL ODBC 5.1 Driver};SERVER=localhost;DATABASE=dbContab;USER=Us uario;PASSWORD=Clave ;OPTION=8;", pero tampoco funciona. ![]() ¿Alguna idea? ![]() Seguramente no esta abiert el puerto de mysql en el servidor... Te doy un ejemplo claro, los hostings pagos con soporte para MySQL solamente es local, es decir para tu web, no habilitan el puerto es por eso que no se puede realizar una conexion. (por ahi es eso) |
| ||||
Re: Consulta en MySQL desde VB6 se comporta de forma lenta Cita: Culd, no tengo hosting, lo que tengo es un una PC que utilizo de servidor de Base de Datos, y si tengo el pueto (3306) de MySQL habilitado. Además si no lo tuviera, no me funcionada con el driver 3.51.
Iniciado por culd Seguramente no esta abiert el puerto de mysql en el servidor... Te doy un ejemplo claro, los hostings pagos con soporte para MySQL solamente es local, es decir para tu web, no habilitan el puerto es por eso que no se puede realizar una conexion. (por ahi es eso) ![]() Con el driver 3.51 me funciona todo bien en el ambiente cliente-servidor, pero las consultas son mucho más lentas. Cita: Fa61an, lo único que hago es instalar el driver en la PC y crear un ODBC en el windows. Los datos en el registro grabados en el windows son los siguientes:
Iniciado por Fa61an Rsoft Si no es mucho pedir quisiera ver un ejemplo de como configuras el conector ODBC para conectarlo con VisulBasic 6.0 Windows Registry Editor Version 5.00 [HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\dbODBC] "Driver"="C:\\WINDOWS\\system32\\myodbc5.dll" "DATABASE"="dbcontab" "OPTION"="8" "PWD"="clave" "SERVER"="servidor" "UID"="usuario" En la versión 3.51 solo cambia el nombre del DLL de "myodbc5.dll" a "myodbc3.dll".
__________________ .::RsOfT::. --El que se aferra a lo conocido, nunca conocerá lo desconocido-- --Es intentando lo imposible como se realiza lo posible-- --Es de pésimo gusto contentarse con algo mediocre cuando lo excelente está a nuestro alcance-- |
| ||||
Re: Consulta en MySQL desde VB6 se comporta de forma lenta Acabo de darme cuenta que puedo seguir utilizando mi driver 3.51 con el que tengo bastante tiempo en uso. ![]() Estoy haciendo un select con un sum a un campo asi:
Código:
De esa forma me dura 3 segundos, pero si agrego un Group By y añado el campo cuenta al select, todo funciona perfecto.Select Sum(Campo) as Db From tabla Where Cuenta = '11041' El select debe quedar asi:
Código:
Debe ser un Bug del driver, pero ni modo. Ya todo me está funcionando a la perfección. Select Cuenta, Sum(Campo) as Db From tabla Where Cuenta = '11041' Group by Cuenta ![]()
__________________ .::RsOfT::. --El que se aferra a lo conocido, nunca conocerá lo desconocido-- --Es intentando lo imposible como se realiza lo posible-- --Es de pésimo gusto contentarse con algo mediocre cuando lo excelente está a nuestro alcance-- Última edición por RsOfT; 22/10/2007 a las 21:16 |
| |||
Re: Consulta en MySQL desde VB6 se comporta de forma lenta Por si acaso comento algo que te puede ocurrir: Abrir la conexión tarda mucho, alrededor de eso, 3 segundos. Si estas usando una funcion que conecta con el mysql cada vez que haces una llamada a la base de datos, sería muy lenta.
Código:
ese código es el que abre la conexion con la base de datos, si lo usas dentro de una funcion y la llamas, cada vez abrira una conexion, por lo que tardara.Set Cxn = New Connection Cxn.CursorLocation = adUseClient CxnFac = "Driver={MySQL ODBC 3.51 Driver};Server=IP_SERVER;Port=3306;Option=131072;Stmt=;Database=tubasededatos;Uid=user;Pwd=password;" Cxn.Open CxnFac Si usas esas variables como globales y abres la conexion solo una vez al abrir el programa, y en la funcion o como conectes a la base de datos solo ahces el recordset, las llamadas a la base de datos se hacen casi instantaneas. No sé si lo harás así o no, pero por si acaso no lo haces te prevengo. Un saludo. |