Fórum Saber se o servidor está rodando #287926

13/07/2005

0

Olá pessoal,

Tenho 1 aplicativo com MySQL e acesso o banco usando dbExpress.

As configurações do banco quem define é o usuário. Quando ele vai executar pela primeira vez e/ou quando quiser alterar essas configurações ele pode chamar uma parte do aplicativo que faz isso.

Acontece que por questão de qualidade me pediram para identificar em caso de erro, qual parâmetro está errado. Ou seja, identificar se o servidor está rodando, identificar se o banco especificado é valido, verificar se usuario ou senha está errado.

Porém, tratando a exceção gerada no Delphi pelo dbExpress, ele sempre me retorna o mesmo erro:

dbExpress Error: Invalid Username/Password

Isso impossibilita de fazer um tratamento dessa exceçãp e estou aqui quebrando a cabeça para descobrir algum jeito de fazer esse tratamento.

Alguem ja fez isso ou tem alguma sugestão?

Valeu,

Pablo


Pablobr

Pablobr

Responder

Posts

13/07/2005

Jorgeolimpia

Olá Pablo,
bom, eu tenho algumas aplicações em MS SQL, mas acho que dá pra fazer o mesmo tratamento no MySQL.

Quando tento a primeira conexão com o banco de dados coloco-a num try... except... end. Dentro do try... coloco a string de conexão com o banco de dados e mudo o status da conexão para true. Se der o erro, no except... uso EOleException e capturo o erro do MS SQL.

Acredito que dê para fazer isso também no MySQL, só que você deverá utilizar o tratamento de exceção do componente que está utilizando para a conexão, que no meu caso é ADO.

Boa sorte! :-)


Responder

Gostei + 0

13/07/2005

Pablobr

Obrigado pela sugestão Jorge, mas creio que eu já faço isso.

Atualmente eu faço:

try
passo os parametros para o sqlconnection (componente do dbexpress)
except
on E : Exception do
showmessage(e.message);

E a mensagem é sempre a mesma como postei:
dbExpress Error: Invalid Username/Password

Mesmo se eu passar o user/senha correta e passar o nome do banco por exemplo errado, o erro é sempre o mesmo.

:roll:

Alguem mais tem alguma sugestão?

Obrigado,

Pablo


Responder

Gostei + 0

13/07/2005

Massuda

Qual versão do MySQL que você está usando? Lembro que tinha (ou tem?) um problema com o driver dbExpress para MySQL 4.x (dbexpmy4.dll); o problema é que o driver foi feito especificamente para a versão 4.0.1 e não funciona com outras versões. O sintoma do problema é a mensagem de erro ´Invalid Username/Password´ (leia detalhes [url=http://groups.google.com.br/group/borland.public.delphi.database.dbexpress/browse_thread/thread/fca8302c9a8888cc/29b42ae6d9d8f5ed]neste post[/url] no NG da Borland, via Google).


Responder

Gostei + 0

13/07/2005

Pablobr

Qual versão do MySQL que você está usando? Lembro que tinha (ou tem?) um problema com o driver dbExpress para MySQL 4.x (dbexpmy4.dll); o problema é que o driver foi feito especificamente para a versão 4.0.1 e não funciona com outras versões. O sintoma do problema é a mensagem de erro ´Invalid Username/Password´ (leia detalhes [url=http://groups.google.com.br/group/borland.public.delphi.database.dbexpress/browse_thread/thread/fca8302c9a8888cc/29b42ae6d9d8f5ed]neste post[/url] no NG da Borland, via Google).


A versão do MySQL é 3.23.52.
a versão da dbExpMysQL versão 7.0.2.113.

Não sei se tem alguma coisa a ver com a versão das dll.

Acho que você entendeu errado meu problema.
O problema não é na conexão, e sim no tratamento de exceção, pois o dbExpress sempre me retorna o mesmo erro, impossibilitando de identificar qual parâmetro está errado.

Mesmo assim obrigado,

Pablo


Responder

Gostei + 0

13/07/2005

Massuda

A versão do MySQL é 3.23.52.
Nesse caso, desconsidere o que postei ai em cima.


Responder

Gostei + 0

14/07/2005

Pablobr

up


Responder

Gostei + 0

18/07/2005

Pablobr

sobe


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar