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.

Posts relacionados

9 Responses to Conectando ao PostgreSQL com dbExpress ODBC driver

  1. Responder @DevWellington says:

    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

    • Responder Andreano Lanusse says:

      @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

  2. Responder Felipe says:

    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?

  3. Responder Edmar says:

    Ótimo posto. O link para download do drive ODBC deve ter mudado tentem esse http://ftp.postgresql.org/pub/odbc/versions/msi/

  4. Responder Hugo says:

    Caro Andreano

    Não há driver nativo do DBexpress para Oracle no XE2? Pois só visualizo Datasnap, MySql e Interbase.

    • Responder Andreano Lanusse says:

      Oi Hugo,

      Driver dbExpress para Oracle está disponível no Delphi Enterprise e Architect, você provavelmente está usando o Professional

  5. Responder erick costa says:

    Obg, o meu aqui deu certo com apenas o primeiro passo!!! uso o mysql 5,
    vlw msm, ha dias procurava uma solução!!

Deixe uma resposta

O seu endereço de email não será publicado Campos obrigatórios são marcados *

*

Você pode usar estas tags e atributos de HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>