Zeos está instavel aqui. Alguém conheçe alternativas boas?
Olá pessoal, tudo bom?
O Zeos aqui começou a ficar louco.. Quando eu vou executar alguma query (é aleatório a ordem desse erro), ele fala que perdeu a conexão com o MySQL enquanto executava a query. O problema é que tenho muito pouco tempo para terminar um projeto, e o Zeos começou a dar esse erro justo agora, e eu não quero voltar para o BDE. Alguém conhece alguma alternativa para acessar o MySQL?
Muito obrigado.
O Zeos aqui começou a ficar louco.. Quando eu vou executar alguma query (é aleatório a ordem desse erro), ele fala que perdeu a conexão com o MySQL enquanto executava a query. O problema é que tenho muito pouco tempo para terminar um projeto, e o Zeos começou a dar esse erro justo agora, e eu não quero voltar para o BDE. Alguém conhece alguma alternativa para acessar o MySQL?
Muito obrigado.
Nildo
Curtidas 0
Respostas
Solracnet
03/10/2005
Usa o DBExpress.
GOSTEI 0
Adriano Santos
03/10/2005
É Nildo, eu sou desta opnião também. Pelo menos não sei de nenhum caso semelhante a este com o DbExpress. E é fácil mexer.
GOSTEI 0
Sabado
03/10/2005
Prezado
Uso o ZEOS e tive um problema similar. era a libmysql.dll corrompida. foi só subsituir o arquivo e tudo voltou a funcionar perfeitamente.
Uso o ZEOS e tive um problema similar. era a libmysql.dll corrompida. foi só subsituir o arquivo e tudo voltou a funcionar perfeitamente.
GOSTEI 0
Adriano Santos
03/10/2005
Essa eu não tinha pensado, será que é tão simples?
Caramba.
Caramba.
GOSTEI 0
Vinicius2k
03/10/2005
O dbExpress é excelente, mas há que se observar as limitações que o driver da borland tem quanto às versões do MySQL (Vide readme do Delphi e dos update packs). Dependendo da versão que vc utiliza ele pode não trabalhar corretamente.
Eu utilizaria ODBC + ADO. É velho, mas é confiável.
T+
Eu utilizaria ODBC + ADO. É velho, mas é confiável.
T+
GOSTEI 0
Adriano Santos
03/10/2005
O dbExpress é excelente, mas há que se observar as limitações que o driver da borland tem quanto às versões do MySQL (Vide readme do Delphi e dos update packs). Dependendo da versão que vc utiliza ele pode não trabalhar corretamente.
Eu utilizaria ODBC + ADO. É velho, mas é confiável.
T+
Vinicios2K, não é lento o ODBC? Ouço falar tão mal que fico na dúvida.
GOSTEI 0
Nildo
03/10/2005
Prezado
Uso o ZEOS e tive um problema similar. era a libmysql.dll corrompida. foi só subsituir o arquivo e tudo voltou a funcionar perfeitamente.
Aí que tá, eu já reinstalei tudo, o mySQL, o Zeos, o Delphi, etc. Mas o problema parece ser com a DLL mesmo, porque em alguns casos eu tenho Access Violation nas DLLs.
Vou conversar com o pessoal sobre o DBExpress.
Mas, [b:c89ea5eafa]sabado[/b:c89ea5eafa], onde eu consigo estas DLLs a parte, para saber se o erro estão nelas?
GOSTEI 0
Mysys
03/10/2005
o problema bem provavel que seja dll
na pasta do sue componente zeos zeos6.5\lib\mysql pege a dll referente ao seu banco de dados e coloque ou no windows\sistem ou na mesma pasta do seu executavel, eu costumo colocar na mesma pasta do meu executavel...
tembem pode ser a versao muito atrazada de zeos que voce usa, caso esteja na versao mais nova sertifique que na opcao protocolo do componente ZConnectio esta setado na versao correta do mysql que voce esta usando..
uso zeos a 4 anos numca tive problemas o DBX realmente é bom mas ele é mais complexo pra c trabalhar voce perde muito tempo..
um abraco
nao tem nada a ver com ODBC o zeos nao usa odbc pra conectar a nao ser que em na propriedade protocol voce especifique isso
na pasta do sue componente zeos zeos6.5\lib\mysql pege a dll referente ao seu banco de dados e coloque ou no windows\sistem ou na mesma pasta do seu executavel, eu costumo colocar na mesma pasta do meu executavel...
tembem pode ser a versao muito atrazada de zeos que voce usa, caso esteja na versao mais nova sertifique que na opcao protocolo do componente ZConnectio esta setado na versao correta do mysql que voce esta usando..
uso zeos a 4 anos numca tive problemas o DBX realmente é bom mas ele é mais complexo pra c trabalhar voce perde muito tempo..
um abraco
nao tem nada a ver com ODBC o zeos nao usa odbc pra conectar a nao ser que em na propriedade protocol voce especifique isso
GOSTEI 0
Vinicius2k
03/10/2005
[quote:243226aee2=´Adriano Santos´]Vinicios2K, não é lento o ODBC? Ouço falar tão mal que fico na dúvida.[/quote:243226aee2]
Não é ´má fama´ de graça! ODBC é mais lento mesmo que a maioria das camadas de acesso, mas em muitos casos é a melhor solução.
O fato de ser uma camada universal, que pode ser utilizada por aplicações em qualquer linguagem, faz com que o driver seja desenvolvido pela própria equipe que desenvolve o SGBD, o que sempre o faz confiável.
T+
Não é ´má fama´ de graça! ODBC é mais lento mesmo que a maioria das camadas de acesso, mas em muitos casos é a melhor solução.
O fato de ser uma camada universal, que pode ser utilizada por aplicações em qualquer linguagem, faz com que o driver seja desenvolvido pela própria equipe que desenvolve o SGBD, o que sempre o faz confiável.
T+
GOSTEI 0
Nildo
03/10/2005
o problema bem provavel que seja dll
na pasta do sue componente zeos zeos6.5\lib\mysql pege a dll referente ao seu banco de dados e coloque ou no windows\sistem ou na mesma pasta do seu executavel, eu costumo colocar na mesma pasta do meu executavel...
tembem pode ser a versao muito atrazada de zeos que voce usa, caso esteja na versao mais nova sertifique que na opcao protocolo do componente ZConnectio esta setado na versao correta do mysql que voce esta usando..
uso zeos a 4 anos numca tive problemas o DBX realmente é bom mas ele é mais complexo pra c trabalhar voce perde muito tempo..
um abraco
nao tem nada a ver com ODBC o zeos nao usa odbc pra conectar a nao ser que em na propriedade protocol voce especifique isso
Obrigado pela resposta!
No caso, eu uso o MySQL versão 4.1, e no Protocol eu uso o 3.2.3, que eu acho que seja compativel com a versão do MySQL que eu tenho instalado aqui. Mas eu testei com os outros protocolos e tenho o mesmo erro. Em todo caso, vou atualizar pra usar a ultima versão do ZeosLib.
Thanx!!
GOSTEI 0
Nildo
03/10/2005
Arrumei!! Para os interessados na minha solução: Minha aplicação continha N threads rodando e executando queries. Tava dando algum tipo de conflito quando executava exatamente duas queries ao mesmo tempo. Então criei uma outra conexão para cada thread. O problema parou.
Um forte abraço e obrigado a todos!
Um forte abraço e obrigado a todos!
GOSTEI 0
Massuda
03/10/2005
...executava exatamente duas queries ao mesmo tempo. Então criei uma outra conexão para cada thread.
Só para entender... você compartilhava a mesma conexão para todas as threads?GOSTEI 0
Nildo
03/10/2005
[quote:7300ec0d9b=´nildo´]...executava exatamente duas queries ao mesmo tempo. Então criei uma outra conexão para cada thread.
Só para entender... você compartilhava a mesma conexão para todas as threads?[/quote:7300ec0d9b]Compartilhava :oops: . Isso é permitido? É que BD não é meu ponto forte..
GOSTEI 0
Massuda
03/10/2005
Isso é permitido?
Geralmente não, a maioria (na verdade, acho que são todos) dos drivers/software cliente dos diferentes BDs não são thread safe.O que você pode fazer para evitar de ter uma conexão para cada thread é fazer um pool de conexões de modo a reaproveitar uma conexão aberta mas que não esteja em uso (em essência, é o que o ADO faz).
É que BD não é meu ponto forte..
Nem o meu :DGOSTEI 0
Nildo
03/10/2005
Beleza Massuda! Cara, muito obrigado mesmo! Esse era o problema. Agora todos os problemas acabaram! O problema é que vou ter que vir tramapr no fds pra compensar esse tempo que eu perdi tentando achar o problema hehehe.. Mas enfim, melhor 1 fds do que 2 ou 3 né!
Falows cara, té +
Falows cara, té +
GOSTEI 0