Conectando ao PostgreSQL com dbExpress ODBC driver
dbExpress traz o novo driver ODBC no Delphi XE2 e C++Builder XE2, através este driver você pode conectar a qualquer aplicações FireMonkey e VCL a qualquer base de dados que disponibilize um driver ODBC, este driver é compatível com Windows, estamos avaliando a possibilidade de disponibilizar futuramente para Mac.
Para mostrar na prática como funciona, criei uma aplicação FireMonkey que conecta a uma base de dados PostgreSQL.
Como requisito, você precisa instalar na máquina onde a aplicação será executada o driver ODBC do PostgreSQL, que pode ser baixado aqui. Vale lembrar que aplicações compiladas como 32-bit requerem a versão 32-bit do driver ODBC da base de dados a ser utilizada, para aplicações 64-bit será necessário o driver ODBC 64-bit.
Após instalado o driver, crie e configure o User DSN ou System DSN no ODBC Data Source Administrator (odbcad32.exe):
Instruções para windows 64-bit
- Para aplicações 32-bit use o c:\Windows\SysWOW64\odbcad32.exe
- Para aplicações 64-bit use o c:\Windows\system32\odbcad32.exe
Instruções para windows 32-bit
- Use o c:\Windows\system32\odbcad32.exe
O próximo passe é criar um alias dbExpress ODBC no Data Explorer, onde Database Name é o nome do Data Source criado anteriormente, no meu exemplo este Data Source se chama PostgreSQL35W. Todas as informações relacionada a qual base de dados conectar, usuário e senha já foram configuradas no Data Source, você pode sobrescrever o usuário e senha na conexão dbExpress.
Supondo que você já saiba como utilizar os componentes SQLConnection, DataSetProvider e ClientDataSet ou SimpleDataSet e DataSource, basta conectá-los da mesma forma que você sempre fez com aplicações que utilizam os componentes dbExpress. A configuração do SQLConnection será configurada conforme abaixo:
object SQLConnection1: TSQLConnection
ConnectionName = 'PostgreSQLOdbc'
DriverName = 'ODBC'
LoginPrompt = False
Params.Strings = (
'drivername=ODBC'
'Database=PostgreSQL35W')
end
Além de poder utilizar os componentes dbExpress em aplicações VCL e FireMonkey, você pode utilizar o dbExpress framework para conectar a bancos de dados que não tenham um driver nativo. A figura abaixo mostra a aplicação FireMonkey conectada a PostgreSQL através do dbExpress ODBC driver.
Download do código fonte disponível aqui.





[...] http://www.andreanolanusse.com/pt/conectando-ao-postgresql-com-dbexpress-odbc-driver/ November 2, 2011 // PostgreSQL // No Comments // [...]
E como fica a comparação de um acesso nativo ? teria muita diferença em relação ao acesso a outro banco de dados nativo ? Estou pensando em trocar o mySQL pelo PostgreSQL o que acha, vou perder muito em performance, em relação ao uso do ODBC ????
Grato
@DevWellington, procura no Google comparativos de performance entre MySQL e PostgreSQL, o driver ODBC não deve ser usado como o comparativo de performance. Já que você está querendo trocar, da uma olhada no InterBase, será bem mais vantajoso
Eu instalei o trial do XE2 para testar o campo do tipo ByteA no PostgreSQL e parece que não deu certo… eu uso para guardar imagens… eu tentei criar os campos e foi retornado TVarBytesField, antes era retornado TBlobField, seria algo haver com isso ou o driver ODBC não suporta esse tipo de dado?
Ótimo posto. O link para download do drive ODBC deve ter mudado tentem esse http://ftp.postgresql.org/pub/odbc/versions/msi/
Obrigado Edmar, provavelmente eles mudaram o link desde que eu publiquei este post.
Já atualizei o artigo.
Caro Andreano
Não há driver nativo do DBexpress para Oracle no XE2? Pois só visualizo Datasnap, MySql e Interbase.
Oi Hugo,
Driver dbExpress para Oracle está disponível no Delphi Enterprise e Architect, você provavelmente está usando o Professional
Obg, o meu aqui deu certo com apenas o primeiro passo!!! uso o mysql 5,
vlw msm, ha dias procurava uma solução!!