Olá pessoal. Este é o meu primeiro artigo no iMasters e espero que seja de grande utilidade para todos. Caso queiram enviar sugestões para os próximos artigos, será um prazer recebê-las.
Bom, o assunto que iremos abordar neste artigo é Conexão Nativa entre o Ambiente de desenvolvimento Delphi e Banco de Dados MySQL, PostgreSQL e Firebird.
A Conexão Nativa é a conexão feita diretamente entre o sistema e o banco de dados sem uso de nenhum tipo de driver auxiliar, como por exemplo conexões que usam ODBC, tornando assim a conexão do sistema com o banco de dados muito mais rápida e, consequentemente, tornando o sistema também muito mais leve.
Para trabalharmos com estas conexões nativas nos bancos de dados MySQL, PostgreSQL e Firebird iremos utilizar um dos mais comums componentes para Delphi entre os desenvolvedores: o Zeos.
O Zeos é um componente OpenSource e Free (Gratuito). Você poderá fazer o download do Zeos no site: www.zeoslib.net (Link para Download). Neste artigo iremos utilizar a versão 6.5.1-Alpha que é a mais recente lançada.
Após feito o Download do Arquivo Zipado, descompacte em um diretório de sua preferência, porém lembre que ele não é uma instalação, então vai permanecer sendo usado sempre.
Usaremos o diretório C:\Zeos. Decompacte todo o conteúdo do arquivo ZIP neste diretório. Após descompactado, o primeiro passo é entrar no diretório C:\Zeos\Lib\MySQL e copiar todos os arquivos DLL para C:\Windows\System32 e faça a mesma coisa com as DLLs do diretório C:\Zeos\Lib\PostgreSQL.
Estas DLLs são as DLLS de conexão do Banco de Dados. São exatamente as mesmas que vem junto ao banco de dados. Ou seja, caso você já possua elas no seu Sistema Operacional, poderá desconsiderar este passo.
O segundo passo é abrir o Delphi. Vá ao menu Tools -> Enviroment Options Selecione a guia Library.

Clique no botão "..." para abrir a janela de adição. Novamente clique no botão "..." para buscar o diretório que vamos adicionar. Selecione o diretório C:\Zeos\src\component e clique em OK .

Assim ele voltará à tela anterior. Basta clicar em ADD. Repita o mesmo procedimento adicionando todos os diretórios contidos dentro da pasta src, ou seja:
C:\Zeos\src\component
C:\Zeos\src\core
C:\Zeos\src\dbc
C:\Zeos\src\parsesql
C:\Zeos\src\plain
Após ter adicionado todos estes diretórios, pressione OK em todas as janelas e abra o Menu File, Open Project.
Vá até o diretório do Zeos, abra o Sub-diretório packages, e abra a pasta referente a sua versão do Delphi. Dentro desta pasta você encontrará uma package chamada ZeosDbo . Selecione e aperte OK.
Após ter aberta a Package, será aberto o Project Manager do Delphi contendo 5 Arquivos Bpl conforme imagem abaixo:
Seguindo a ordem que abrir, clique com o botão direito sobre o Zcore.bpl e selecione a opção Compile. Aguarde um instante enquanto é compilado o pacote, e depois clique novamente com o botão direito emcima do Zcore.bpl. Selecione a opção Compile.
Se tudo correr bem, você receberá a seguinte mensagem:
Repita este procedimento com todas as outras BPLs, seguindo a ordem de cima para baixo que elas estiverem. O último BPL trará uma mensagem diferente dos demais, exibindo o nome de todos os componentes que foram instalados e no final dizendo que foram instalados com sucesso.
Pronto, está finalizada a Instalação do componente Zeos, uma guia será incluida na sua paleta de Componentes, chamada Zeos Acess. Uma dica que eu sempre dou é a de fechar o Delphi antes de fazer o uso do mesmo. Ao fechar o Delphi, ele perguntará se deseja salvar as packages do Zeos que vocês acabaram de Instalar. Selecione a opção Não.
Bom pessoal, é isso. Agora é só colocar a mão na massa. No próximo artigo irei mostrar como construir um formulário básico de cadastro conectado ao banco MySQL, utilizando o Zeos.
Abraço!
Gustavo Henrique A S A Moura
Este componente (ZEOS) funciona no Delphi 2005
Oscar Oliveira
Boa Tarde Pessoal, Parabens pelo artigo mas teria uma correção a ser feita. No texto abaixo:
"Seguindo a ordem que abrir, clique com o botão direito sobre o Zcore.bpl e selecione a opção Compile. Aguarde um instante enquanto é compilado o pacote, e depois clique novamente com o botão direito emcima do Zcore.bpl. Selecione a opção Compile."
troque-o por:
"Seguindo a ordem que abrir, clique com o botão direito sobre o Zcore.bpl e selecione a opção Compile. Aguarde um instante enquanto é compilado o pacote, e depois clique novamente com o botão direito em cima do Zcore.bpl e agora clique em Install."
Abraços
Oscar Oliveira
Boa Tarde Pessoal, Parabens pelo artigo mas teria uma correção a ser feita. No texto abaixo:
"Seguindo a ordem que abrir, clique com o botão direito sobre o Zcore.bpl e selecione a opção Compile. Aguarde um instante enquanto é compilado o pacote, e depois clique novamente com o botão direito emcima do Zcore.bpl. Selecione a opção Compile."
troque-o por:
"Seguindo a ordem que abrir, clique com o botão direito sobre o Zcore.bpl e selecione a opção Compile. Aguarde um instante enquanto é compilado o pacote, e depois clique novamente com o botão direito em cima do Zcore.bpl e agora clique em Install."
Abraços
Nielsen Valença
Ae blz?
Instalei o Zeos, na hora de compilar da pau.
Fiz tudo direitinho como nos tutoriais, mas deu o erro:
[Fatal Error] ZCore.dpk(29): Required Package 'rtl' not found
O Que pode Ser?
Uso o Delphi 7
Se puder ajudar agradeço,
Giovani Madeira
Não consegui instalar deu o erro
[Error] ZDbc.dpk(83): 'END' expected but identifier 'ZDbcASAUtils' found
leo mello
Segui todo os passos deu beleza até a parte de compilar de lá não sai clico no Zcore.bpl e compilo mas nada acontece e se copilo os outros
dar o erro
[Error] ZDbc.dpk(83): 'END' expected but identifier 'ZDbcASAUtils' found
Se puder ajudar te agradeço.
Ralf Araújo Ruas
Fala ae! Estou tentando instalar o zeos no meu pc, mas fiquei em duvida num certo ponto, qdo vc pede pra compilar cada um dos BPLs do componente e irá aparecer a mensagem de sucesso, realizei isso varias vezes e não retornou nenhuam msg de conclusão. Onde posso estar errando? Uso a versão 7 do delphi, rodando no winXP. Valeu! ;)
Daniel Dias
Esse tal de Zeos não faz download de geito nenhum quando faz aparece um erro quando tento acessa-lo pelo winzip.
Wariston Fernando Pereira
Galera o problema é um ";" (PONTO E VIRGULA) sobrando la... uma linha antes do erro.. substituam ele por (VIRGULA) e pronto!!!!!
leo mello
Estou tentando instalar o zeos , mas mas qdo vc pede pra compilar cada um dos BPLs do componente e irá aparecer a mensagem de sucesso, realizei isso varias vezes e não retornou nenhuam msg de conclusão. Onde posso estar errando? Uso a versão 7 do delphi, rodando no winXP. Valeu! ;)
leo mello
Pra quem compilava e não aparececia nada, mandei dar un install no ZComponent.bpl e finalmente instalou.....
Leandro
Quando estou compilando o modulo Zdbc.bpl ele gera um erro: [Fatal Error] ZDbcMySqlStatement.pas(96): File not found: 'DateUtils.dcu'.
Edgard Matos
Ao compilar a ZDBc.Bpl dá esse erro ai
[Error] ZDbc.dpk(84): 'END' expected but identifier 'ZDbcASAUtils' found
não finalizando dai..o que está errado, fiz todos os passos acima. Obrigado
Paulo Kalil
ZDBc.Bpl dá esse erro ai [Error] ZDbc.dpk(84): 'END' expected but identifier 'ZDbcASAUtils' found
Paulo Kalil
O problema é simples. Na linha anterior a linha onde o erro aparece, substitua o ponto e virgula por uma virgula. Vai compilar sem erro.
ramilton
ocorre o seguinte erro ao compilar o pacote zcomponent.. alguem pode me ajudar... outra coisa quando fui abrir o pacote zeosdbo nao existia nao... ai eu abri os outros pacote na mesma ordem da imagem que apareceu os pacotes...
[Error] ZComponent.dpk(33): Packages 'ZDbc' and 'ZParseSql' both contain unit 'ZGenericSqlToken'
Thiago Scavacini Betelli
Thiago Marcel
Caso no final da Conexão nativa não apresentar a janela de " Informatin".
Como devo proceder.
Wagner
Amigos segui todos os procedimentos e funcionou legal no Delphi7, porém, no Delphi5 dá um erro ao compilar a package ZDBc.Bpl ->
diz assim: File not found: DateUils.dcu
Gilberto Godoy
Gostaria de saber se alguém instalou no Delphi 2005
Silvio Santos
Muito bom este artigo.
Alguns dizem que não conseguem acessar um banco remotamente. Claro! Isso é devido as caracteríticas do servidor que você está trabalhando.
Se alguém quiser fazer um teste use estes dados no Zeos:
HostName: hostconection.com
Port: 3306
Database: imasters_banco
User: imasters_usuario
Password: senha
Neste banco há um tabela para teste com a seguinte estrutura:
CREATE TABLE `imasters` (
`id` INT NULL AUTO_INCREMENT PRIMARY KEY ,
`nome` VARCHAR( 50 ) NOT NULL ,
`email` VARCHAR( 50 ) NOT NULL ,
`cidade` VARCHAR( 50 ) NOT NULL ,
`uf` CHAR( 2 ) NOT NULL
);
Suficiente para todos testarem, não?
Podem inserir, alterar, deletar e selecionar seus dados a vontade.
A partir daqui é com cada um dos interessados.
Estou preparando um servidor somente para:
Delphi, Zeos, MySQL
Isso mesmo! Aqueles que quiserem hospedar seu banco MySQL em um servidor remoto com segurança e desempenho, entre em contato e durma tranquilo.
Outros clientes já estão utilizando isso e com satisfação.
Caso queira testar sem desenvolver um aplicativo teste, baixe este:
http://www.hostconection.com/sistema.exe
Antes te testar com o seu próprio aplicativo ou com este acima, verifique se baixou as dll's no diretórios system32, conforme tutorial Zeos "Conexão nativa com banco de dados no Delphi" do site imasters.com.br.
Abraços.
Silvio Santos
info@hostconection.com
Celular: (65) 8414-5746
www.hostconection.com
Silvio Santos
Muito bom este artigo.
Alguns dizem que não conseguem acessar um banco remotamente. Claro! Isso é devido as caracteríticas do servidor que você está trabalhando.
Se alguém quiser fazer um teste use estes dados no Zeos:
HostName: hostconection.com
Port: 3306
Database: imasters_banco
User: imasters_usuario
Password: senha
Neste banco há um tabela para teste com a seguinte estrutura:
CREATE TABLE `imasters` (
`id` INT NULL AUTO_INCREMENT PRIMARY KEY ,
`nome` VARCHAR( 50 ) NOT NULL ,
`email` VARCHAR( 50 ) NOT NULL ,
`cidade` VARCHAR( 50 ) NOT NULL ,
`uf` CHAR( 2 ) NOT NULL
);
Suficiente para todos testarem, não?
Podem inserir, alterar, deletar e selecionar seus dados a vontade.
A partir daqui é com cada um dos interessados.
Estou preparando um servidor somente para:
Delphi, Zeos, MySQL
Isso mesmo! Aqueles que quiserem hospedar seu banco MySQL em um servidor remoto com segurança e desempenho, entre em contato e durma tranquilo.
Outros clientes já estão utilizando isso e com satisfação.
Caso queira testar sem desenvolver um aplicativo teste, baixe este:
http://www.hostconection.com/sistema.exe
Antes te testar com o seu próprio aplicativo ou com este acima, verifique se baixou as dll's no diretórios system32, conforme tutorial Zeos "Conexão nativa com banco de dados no Delphi" do site imasters.com.br.
Abraços.
Silvio Santos
info@hostconection.com
Celular: (65) 8414-5746
www.hostconection.com
Silvio Santos
Me desculpem. Não foi minha intenção postar comentário repetido. Acontece que eu cliquei no botão enviar e parecia não estar respondendo. Aí cliquei por mais vezes.
FABIO WALTER
Não consegui instalar deu o erro [Error] ZDbc.dpk(83): 'END' expected but identifier 'ZDbcASAUtils' found
Para quem o delphi apresentou esta mensagem ache no código a linha em que ocorreu o erro! E substitua o ';' que está no final da linha anterior! Mande compilar novamente então como um de nossos colegas já postou mais abaixo clique em Install sobre o ZComponent.bpl e pronto feche e abra o Delphi!!! Espero ter ajudado.
FABIO WALTER
Não consegui instalar deu o erro [Error] ZDbc.dpk(83): 'END' expected but identifier 'ZDbcASAUtils' found
Para quem o delphi apresentou esta mensagem ache no código a linha em que ocorreu o erro! E substitua o ';' que está no final da linha anterior! Mande compilar novamente então como um de nossos colegas já postou mais abaixo clique em Install sobre o ZComponent.bpl e pronto feche e abra o Delphi!!! Espero ter ajudado.
FABIO WALTER
Não consegui instalar deu o erro [Error] ZDbc.dpk(83): 'END' expected but identifier 'ZDbcASAUtils' found
Para quem o delphi apresentou esta mensagem ache no código a linha em que ocorreu o erro! E substitua o ';' que está no final da linha anterior! Mande compilar novamente então como um de nossos colegas já postou mais abaixo clique em Install sobre o ZComponent.bpl e pronto feche e abra o Delphi!!! Espero ter ajudado.
FABIO WALTER
Não consegui instalar deu o erro [Error] ZDbc.dpk(83): 'END' expected but identifier 'ZDbcASAUtils' found
Para quem o delphi apresentou esta mensagem ache no código a linha em que ocorreu o erro! E substitua o ';' que está no final da linha anterior! Mande compilar novamente então como um de nossos colegas já postou mais abaixo clique em Install sobre o ZComponent.bpl e pronto feche e abra o Delphi!!! Espero ter ajudado.
Rafael Capucho
o imaster deveria pedir para alguem refazer o mesmo, pois há muitos problemas, que implicam também na parte 2 do artigo que mesmo instalando o plugin, obtive erros futuros!
Rafael Capucho
o imaster deveria pedir para alguem refazer o mesmo, pois há muitos problemas, que implicam também na parte 2 do artigo que mesmo instalando o plugin, obtive erros futuros!
Rafael Capucho
o imaster deveria pedir para alguem refazer o mesmo, pois há muitos problemas, que implicam também na parte 2 do artigo que mesmo instalando o plugin, obtive erros futuros!
Rodrigo Nascimento
O problema com o ZdbcASAUtils é devido a dois erros na distribuição do Zeoslib. Uma é falta do arquivo ZdbcASAUtils.pas dentro do pacote Zdbc.bpl, para sanar este erro clique com o botão direito sobre Zdbc.bpl e use a opção ADD, localize o arquivo .pas respectivo e adicione ao pacote. Atenção, apos este procedimento será adicionado uma linha de comando a mais no pacote e esta deve ser excluída por ser repetida >> linha(ZDbcASAUtils in '..\..\src\dbc\ZDbcASAUtils.pas',). O segundo erro é um erro de sintaze, onde a (,) foi substituida por (;). Quando o compilador Delphi localizar a linha troque o(;) por (,).
Um comentário.: Segui todos os passos do tutorial, corrigi os problemas acima e no final usei a opção INSTALL sobre o pacote ZComponent.pbl e a instalação ocorreu sem problemas.
Rodrigo Nascimento
O problema com o ZdbcASAUtils é devido a dois erros na distribuição do Zeoslib. Uma é falta do arquivo ZdbcASAUtils.pas dentro do pacote Zdbc.bpl, para sanar este erro clique com o botão direito sobre Zdbc.bpl e use a opção ADD, localize o arquivo .pas respectivo e adicione ao pacote. Atenção, apos este procedimento será adicionado uma linha de comando a mais no pacote e esta deve ser excluída por ser repetida >> linha(ZDbcASAUtils in '..\..\src\dbc\ZDbcASAUtils.pas',). O segundo erro é um erro de sintaze, onde a (,) foi substituida por (;). Quando o compilador Delphi localizar a linha troque o(;) por (,).
Um comentário.: Segui todos os passos do tutorial, corrigi os problemas acima e no final usei a opção INSTALL sobre o pacote ZComponent.pbl e a instalação ocorreu sem problemas.
Rodrigo Nascimento
O problema com o ZdbcASAUtils é devido a dois erros na distribuição do Zeoslib. Uma é falta do arquivo ZdbcASAUtils.pas dentro do pacote Zdbc.bpl, para sanar este erro clique com o botão direito sobre Zdbc.bpl e use a opção ADD, localize o arquivo .pas respectivo e adicione ao pacote. Atenção, apos este procedimento será adicionado uma linha de comando a mais no pacote e esta deve ser excluída por ser repetida >> linha(ZDbcASAUtils in '..\..\src\dbc\ZDbcASAUtils.pas',). O segundo erro é um erro de sintaze, onde a (,) foi substituida por (;). Quando o compilador Delphi localizar a linha troque o(;) por (,).
Um comentário.: Segui todos os passos do tutorial, corrigi os problemas acima e no final usei a opção INSTALL sobre o pacote ZComponent.pbl e a instalação ocorreu sem problemas.
Rodrigo Nascimento
O problema com o ZdbcASAUtils é devido a dois erros na distribuição do Zeoslib. Uma é falta do arquivo ZdbcASAUtils.pas dentro do pacote Zdbc.bpl, para sanar este erro clique com o botão direito sobre Zdbc.bpl e use a opção ADD, localize o arquivo .pas respectivo e adicione ao pacote. Atenção, apos este procedimento será adicionado uma linha de comando a mais no pacote e esta deve ser excluída por ser repetida >> linha(ZDbcASAUtils in '..\..\src\dbc\ZDbcASAUtils.pas',). O segundo erro é um erro de sintaze, onde a (,) foi substituida por (;). Quando o compilador Delphi localizar a linha troque o(;) por (,).
Um comentário.: Segui todos os passos do tutorial, corrigi os problemas acima e no final usei a opção INSTALL sobre o pacote ZComponent.pbl e a instalação ocorreu sem problemas.
Lauricio Dill
tudo funciona bem depois da correção (;->,)mas não instala os pacotes. :-( alguem pode me ajudar?
Lauricio Dill
tudo funciona bem depois da correção (;->,)mas não instala os pacotes. :-( alguem pode me ajudar?
samuel marcondes
É só seguir as explicações que não tem erro!!! funcionou perfeitamente!!!
samuel marcondes
É só seguir as explicações que não tem erro!!! funcionou perfeitamente!!!
samuel marcondes
É só seguir as explicações que não tem erro!!! funcionou perfeitamente!!!
JOSE HAROLDO SENA FILHO
Eu estou com a versão 7 do Delphi, com o Windows XP e dá o problema que o rapaz reportou. O que proceder?
Fabiano Gaspar
Galera... ao invés de compile tem de ser install... ae dá certo... aparece as janelas inforamando o sucesso da instalação... do jeito da explicação...
Um abraço e vlw...
Marcus Augusto
Boa noite Tiago, vi seu artigo no imasters e gostei mto, usei seu artigo para migrar de ADO para ZEOS com sucesso, funcionou bem comigo. Só tô com um problema que vai um pouco mais alem
E vim pedir sua ajuda, desculpe invadir sua privacidade usando o e-mail pessoal, mas é que tô curioso pra saber como resolvo isso, aposto que é coisa pequena, simples... mas que eu naum sei rsrsrsrs
... quando vou fazer relatórios no QuickReport mesmo, na linha de detail aparece só uma linha, geralmente a primeira da tabela ou query...
Porem tô perdido sobre isso...
Hugo Cordeiro
[Error] ZSqlUpdate.pas(112): Undeclared identifier: 'UpdateAutoIncrementFields'
Alguem ajude plz....
Someone help please...
Bruno César Barreto de Figueirêdo
Antes de mais nada, gostaria de parabenizar pelo artigo. Fácil e prático, indo direto ao ponto.
Eu utilizo o Vista e estou tentando usar o Delphi 7. O problema foi na hora de instalar o componente, ele dá uma mensagem dizendo que não pode instalar por que não se trata de um "Desing Time Package". Alguém pode me ajudar ?
Agradeço,
Bruno
Ana Moura
Pessoal
Preciso de uma apostila/artigo/documento que fale sobre a função de cada um dos componentes. Uso somente 2 deles, por n saber o que os outro fazem exatamente. Não achei nada na net
se alguém tiver me passe o link
obrigada
2001 - iMasters FFPA Informática Ltda - Todos os direitos reservados.