Estou de volta com mais uma coluna no iMasters. Espero que todos tenham estudado a tecnologia dbExpress abordada na última coluna, e também espero que tenham gostado.
Estarei mudando a seqüência do assunto neste artigo, pois estava em meus planos abordar um pouco mais do dbExpress, porém recebi inúmeros e-mails com dúvidas para acessar o Banco de dados MySQL através do Delphi.
Devo fazer um breve comentário sobre o artigo da semana passada. Os componentes dbExpress são unidirecionais, ou seja, um componente SQLTable, por exemplo, não é capaz de realizar inserções no banco, gerando uma exceção de "Operação não suportada!". Uma solução para isto é o uso de ClientDataSet's. Estarei entrando em detalhes sobre o uso de ClientDataSet's numa próxima oportunidade, aguardem.
Bem, antes de mais nada é necessário instalar o servidor do banco MySQL num servidor, caso seja uma aplicação multi-usuário, ou até mesmo na máquina de desenvolvimento, caso seja uma aplicação de pequeno porte acessada apenas localmente.
Antes de inicar o desenvolvimento de uma aplicação que acesso o MySQL, é necessário definir qual tecnologia será adotada no projeto: BDE ou dbExpress!
Neste caso, qual tecnologia devo escolher?
Esta é uma pergunta que cabe ao próprio desenvolvedor responder. Deve ser levando em consideração alguns dos pontos abaixo:
. Versão de Delphi em que o projeto será desenvolvido. O dbExpress está disponível apenas na versão Delphi 6.0 ou superior.
. Conhecimento das tecnologias em questão: BDE x dbExpress, optando por uma que o desenvolvedor tenha um melhor domínio.
. Necessidades e "imposições" do cliente, não se esqueça que clientes corporativos, na maioria das vezes, exigem alguns requisitos para desenvolvimento.
Após este breve comentário sobre qual tecnologia adotar, abordaremos a conexão ao MySQL, utilizando as duas opções. Atente-se ao projeto pois estarei comentando as duas soluções simultaneamente.
Inicie um novo projeto no Delphi, e remova a unit criada. Feito isso acrescente um DataModule ao projeto e dê um nome a ele, por exemplo: uDMConexao. Devido a similaridade, aos artigos anteriores, dos passos até o momento não detalharei como realizar estes procedimentos.
Antes de continuarmos é necessário verificarmos se o MySQL foi iniciado. Uma boa tática para observar este fato é observar o ícone representante do MySQL Administrator (um semáforo com indicação verde!) ao lado do relógio de seu Windows! Veja a figura abaixo.
Tendo realizado estes procedimentos vamos configurar uma conexão via BDE. O primeiro que deve ser adotado é registrar um alias para o banco. Vejamos como proceder:
01. Abra o BDE Administrator.
02. Vá a paleta Object >> ODBC Administrator.
03. Você verá a tela a seguir.
04. Clique em Adicionar, e selecione o driver MySQL e clique em Concluir, como mostrado abaixo.
05. Após concluída esta etapa, vamos configurar o Alias para o banco desejado... Informe os dados solicitados e confirme as alterações. Atente-se que ao confirmar todos os dados o Alias ainda não aparecerá criado no BDE Administrator. É necessário atualizar o BDE (Ctrl + R) ou reinicializá-lo. Veja a figura:
Sendo assim, temos o Alias criado. Agora podemos voltar a nosso projeto!
Volte ao Delphi e insira no DataModule uDMConexao, um objeto TDataBase, paleta BDE (vide artigo 04 para mais detalhes), e um objeto TSQLConnection (vide artigo 06 para mais detalhes), localizado na paleta dbExpress. Deveremos ter a situação abaixo:
Clique no componente TDataBase, em meu caso chamado Database_BDE, e faça as configurações abaixo:
Agora clique no componente TSQLConnection. Antes de continuarmos é necessário criar o Alias para o driver dbExpress. Proceda de forma similar ao artigo 06, o procedimento é semelhante, porém atente-se que no momento de escolha do Driver Name, devemos escolher o MySQL, ao invés do InterBase como explicado no artigo 06.
Teremos então, a situação abaixo:
Após concluir estes passo com sucesso, configura o componente TSQLConnection, como mostrado a seguir.
Finalizamos com este passo ambas as conexões. Caso tenham alguma dúvida, meu e-mail é: dp_nascimento@yahoo.com.br.
Um grande abraço a todos, bons estudos e até semana que vem.
paulo cesar de castro
Boa coluna, queria saber, mais como usar componetes e talz!
Fillpe
Porque você não muda os artigos, você só estar enviando artigos de banco de dados. O Delphi tem muito mais do que isso.
Alessandro
O Autor esta de parabens sobre as abordagens de conexões com diversos Banco de Dados. è Indiscutível que existem milhoes de outros assuntos a serem tratados pois o delphi é fantastico, mas indo por partes deste jeito , fica mais fácil o aprendizado e acompanhamento.
Bruno Avanco
Primeiramente gostaria de parabenizá-lo pelos artigos, e em segundo lugar, gostaria da sua ajuda para resolver um problema: não consigo conectar o dbexpress com o mysql. Aparece uma mensagem de erro (INVALID USERNAME/PASSWORD) ao testar a conexão, sendo que acesso normalmente o mysql através do FRONT com o mesmo nome de usuário e senha (root e ''). Já não sei mais o que fazer... Você teria alguma idéia do que poderia estar ocorrendo? PS. uso o Win 2000, Delph i7 e o MySQL 5. Desde já agradeço a sua ajuda,
Obrigado.
fernandocamilo
Olá, gostaria de parabeniza-lo pelos artigos, gostaria que fizesse um artigo explicando como armazenar imagens usando o dbImage, em um campo qualquer do tipo Long Row (oracle).
Anderson Nunes Scaloni
Eu tenho o Delphi 6, porém não tenho o InstallShield. Alguém sabe onde posso encontrar o delphi com o InstallShield, ou algum parecido com o Install Shield?
Felicio Picoli
Outra solução seria a utilização de acesso nativo como o oferecido pelo ZEOS.
Matheus Tupy Novais
Galera quando for usar o odbc para se conectar ao mysql é preciso tomar cuidado caso esteja usando uma versão recente, tipo 4.1 5.0...ocorre um erro de autenticação devido as diferenças de criptografia entre myodbc 2.5 ou 3.51 e o mysql. Pra resolver isso é preciso alterar a criptografia da senha que irá acessar o servidor mysql.
Bruno Henrique Araújo Montanher
Gostei do material apresentado, gostaria se saber se possui algum sobre o BDE Administrator, definições sobre sua finalidade e a utilização de Ip ao apontar ao caminho do banco de dados.
2001 - iMasters FFPA Informática Ltda - Todos os direitos reservados.