Conexion a POSTGRESQL via ADO - SOLUCIONADO

User avatar
leandro
Posts: 958
Joined: Wed Oct 26, 2005 2:49 pm
Location: Colombia
Contact:

Conexion a POSTGRESQL via ADO - SOLUCIONADO

Post by leandro »

Compañeros del foro tengan buen día...

Resulta que Tengo un nuevo cliente el cual tiene una base de datos POSTGRESQL, he intentado conectarme a la db sin exito hasta el momento. Estoy utilizando la siguiente cadena de conexión:

Code: Select all

oCon:ConnectionString:="Driver={PostgreSQL ODBC Driver(UNICODE)};Server="+alltrim(dHost)+";Port="+alltrim(dPrto)+";User="+alltrim(dUser)+";Password="+alltrim(dPass)+";"
TRY
  oCon:Open()
CATCH oError
  MsgStop( "No pude abrir la conexión para crear las tablas !", "Error de datos")
  QUIT
END
 
Pero no funciona.... en el foro descargue otra e intente, es la siguiente:

Code: Select all

cDriSql := "Provider=PostgreSQL OLE DB Provider;"+;
"Location=finca_raiz;"+;
"Data Source=192.168.0.119;"+;
"User ID=postgres;"+;
"PORT=5432;"+;
"Password=123456;"

if oCon == nil
  oCon := TOleAuto():new("ADODB.Connection")
  oCon:ConnectionString := cDriSql
  TRY
    oCon:Open()
    lConnect := .t.
  CATCH
    oCon := nil
    Msginfo("Error. No fue posible la conexi¢n con el servidor SQL" )
    return .F.
  END
else
  lConnect := .t.
endif
 
Pero tampoco, no se que este haciendo mal...

Revise en -->panel de control--->origenes de datos--->Controladores y ahi si estan los nombres de los drivers, coloque los nombres tal como aparecen en la lista. Aun asi no me funciona...

Alguien tiene idea sobre este tema?

Saludos
Last edited by leandro on Fri Jan 30, 2015 1:51 pm, edited 1 time in total.
Saludos
LEANDRO ALFONSO
SISTEMAS LYMA - BASE
Bogotá (Colombia)
[ FWH 19.09 ] [ xHarbour 1.2.3 Intl. (SimpLex) (Build 20190613) ] [ Embarcadero C++ 7.30 for Win32 ]
User avatar
carlos vargas
Posts: 1421
Joined: Tue Oct 11, 2005 5:01 pm
Location: Nicaragua

Re: Conexion a POSTGRESQL via ADO

Post by carlos vargas »

ya probaste con el driver ansi?

salu2
carlos vargas
Salu2
Carlos Vargas
Desde Managua, Nicaragua (CA)
User avatar
leandro
Posts: 958
Joined: Wed Oct 26, 2005 2:49 pm
Location: Colombia
Contact:

Re: Conexion a POSTGRESQL via ADO

Post by leandro »

Carlos primero que todo gracias por responder...

Si ya lo intente de ambas formas... pero aun asi no me funciona.
La verdad no se si tenga que ver con driver...

¿De casualidad tienes algun driver para instalar y hacer la respectiva prueba?

Saludos
Saludos
LEANDRO ALFONSO
SISTEMAS LYMA - BASE
Bogotá (Colombia)
[ FWH 19.09 ] [ xHarbour 1.2.3 Intl. (SimpLex) (Build 20190613) ] [ Embarcadero C++ 7.30 for Win32 ]
User avatar
carlos vargas
Posts: 1421
Joined: Tue Oct 11, 2005 5:01 pm
Location: Nicaragua

Re: Conexion a POSTGRESQL via ADO

Post by carlos vargas »

este servido postgreesql esta configurado para aceptar conexiones remotas?
ya has intentado conectarte usando el programa pgadmin? te funciona?
en postgreesql hay que dar permisos que ip de la red local puede ser usados para poder conectarse al servidor.

como estas con estos temas?

salu2
carlos vargas
Salu2
Carlos Vargas
Desde Managua, Nicaragua (CA)
User avatar
carlos vargas
Posts: 1421
Joined: Tue Oct 11, 2005 5:01 pm
Location: Nicaragua

Re: Conexion a POSTGRESQL via ADO

Post by carlos vargas »

si se puede te puedo ayudar por teamviewer

salu2
Salu2
Carlos Vargas
Desde Managua, Nicaragua (CA)
User avatar
leandro
Posts: 958
Joined: Wed Oct 26, 2005 2:49 pm
Location: Colombia
Contact:

Re: Conexion a POSTGRESQL via ADO

Post by leandro »

Buenos Dias Carlos... Muchas gracias por responder....

1. este servidor postgreesql esta configurado para aceptar conexiones remotas?

Para ser sincero... no lo se, para hacer pruebas instale de la db en un equipo localmente tal como lo hago con mysql, pero la verdad es que desconozco como se verifica si se aceptan o no conexiones remotas.


2. ya has intentado conectarte usando el programa pgadmin? te funciona?

Si ya lo intente y si funciona.

3. en postgreesql hay que dar permisos que ip de la red local puede ser usados para poder conectarse al servidor

Como te mencione anteriormente desconozco la forma de habilitar o deshabilitar ese tipo de opciones.

4. si se puede te puedo ayudar por teamviewer

Claro que si tu me diras a que horas?

De antemano gracias.
Saludos
LEANDRO ALFONSO
SISTEMAS LYMA - BASE
Bogotá (Colombia)
[ FWH 19.09 ] [ xHarbour 1.2.3 Intl. (SimpLex) (Build 20190613) ] [ Embarcadero C++ 7.30 for Win32 ]
User avatar
carlos vargas
Posts: 1421
Joined: Tue Oct 11, 2005 5:01 pm
Location: Nicaragua

Re: Conexion a POSTGRESQL via ADO

Post by carlos vargas »

ok, dejame llegar al work y te contacto,
tiene skype?

salu2
carlos vargas
Salu2
Carlos Vargas
Desde Managua, Nicaragua (CA)
User avatar
leandro
Posts: 958
Joined: Wed Oct 26, 2005 2:49 pm
Location: Colombia
Contact:

Re: Conexion a POSTGRESQL via ADO

Post by leandro »

Si Carlos yo entro a skype con mi cuenta de hotmail.

leandroalfonso111@hotmail.com
Saludos
LEANDRO ALFONSO
SISTEMAS LYMA - BASE
Bogotá (Colombia)
[ FWH 19.09 ] [ xHarbour 1.2.3 Intl. (SimpLex) (Build 20190613) ] [ Embarcadero C++ 7.30 for Win32 ]
User avatar
compubrion
Posts: 130
Joined: Thu Mar 08, 2007 6:12 pm
Location: Miranda - Venezuela
Contact:

Re: Conexion a POSTGRESQL via ADO

Post by compubrion »

Saludos !
Puedes configurar el archivo pg_hba.conf para que aceptes las conexiones que tu quieras, y en el archivo postgresql.conf busca la Connection Settings y quita el signo numeral para que quede asi :

listen_addresses = '*'
Harbour / Bcc / MinGW / Fwh 13.9
User avatar
RenOmaS
Posts: 205
Joined: Fri Oct 07, 2005 5:07 pm

Re: Conexion a POSTGRESQL via ADO

Post by RenOmaS »

Buenas

Cual es la aplicacion cliente (DLL) que estas a utilizar?
Saludos/regards
RenOmaS

skype: americo.balboa
russimicro
Posts: 179
Joined: Sun Jan 31, 2010 3:30 pm
Location: Bucaramanga - Colombia

Re: Conexion a POSTGRESQL via ADO

Post by russimicro »

El string que mencionas funciona perfecto.. es el que yo uso

cDriSql := "Provider=PostgreSQL OLE DB Provider;"+;
"Location=finca_raiz;"+;
"Data Source=192.168.0.119;"+;
"User ID=postgres;"+;
"PORT=5432;"+;
"Password=123456;"

if oCon == nil
oCon := TOleAuto():new("ADODB.Connection")
oCon:ConnectionString := cDriSql
TRY
oCon:Open()
lConnect := .t.
CATCH
oCon := nil
Msginfo("Error. No fue posible la conexi¢n con el servidor SQL" )
return .F.
END
else
lConnect := .t.
endif

Debe buscar el error en los permisos del server... prueba primero con el PGADMIN III , que trae el mismo postgres

Saludos
User avatar
leandro
Posts: 958
Joined: Wed Oct 26, 2005 2:49 pm
Location: Colombia
Contact:

Re: Conexion a POSTGRESQL via ADO

Post by leandro »

Muchas Gracias por las respuestas

Contenido pg_hba.conf

Code: Select all

# PostgreSQL Client Authentication Configuration File
# ===================================================
#
# Refer to the "Client Authentication" section in the PostgreSQL
# documentation for a complete description of this file.  A short
# synopsis follows.
#
# This file controls: which hosts are allowed to connect, how clients
# are authenticated, which PostgreSQL user names they can use, which
# databases they can access.  Records take one of these forms:
#
# local      DATABASE  USER  METHOD  [OPTIONS]
# host       DATABASE  USER  ADDRESS  METHOD  [OPTIONS]
# hostssl    DATABASE  USER  ADDRESS  METHOD  [OPTIONS]
# hostnossl  DATABASE  USER  ADDRESS  METHOD  [OPTIONS]
#
# (The uppercase items must be replaced by actual values.)
#
# The first field is the connection type: "local" is a Unix-domain
# socket, "host" is either a plain or SSL-encrypted TCP/IP socket,
# "hostssl" is an SSL-encrypted TCP/IP socket, and "hostnossl" is a
# plain TCP/IP socket.
#
# DATABASE can be "all", "sameuser", "samerole", "replication", a
# database name, or a comma-separated list thereof. The "all"
# keyword does not match "replication". Access to replication
# must be enabled in a separate record (see example below).
#
# USER can be "all", a user name, a group name prefixed with "+", or a
# comma-separated list thereof.  In both the DATABASE and USER fields
# you can also write a file name prefixed with "@" to include names
# from a separate file.
#
# ADDRESS specifies the set of hosts the record matches.  It can be a
# host name, or it is made up of an IP address and a CIDR mask that is
# an integer (between 0 and 32 (IPv4) or 128 (IPv6) inclusive) that
# specifies the number of significant bits in the mask.  A host name
# that starts with a dot (.) matches a suffix of the actual host name.
# Alternatively, you can write an IP address and netmask in separate
# columns to specify the set of hosts.  Instead of a CIDR-address, you
# can write "samehost" to match any of the server's own IP addresses,
# or "samenet" to match any address in any subnet that the server is
# directly connected to.
#
# METHOD can be "trust", "reject", "md5", "password", "gss", "sspi",
# "ident", "peer", "pam", "ldap", "radius" or "cert".  Note that
# "password" sends passwords in clear text; "md5" is preferred since
# it sends encrypted passwords.
#
# OPTIONS are a set of options for the authentication in the format
# NAME=VALUE.  The available options depend on the different
# authentication methods -- refer to the "Client Authentication"
# section in the documentation for a list of which options are
# available for which authentication methods.
#
# Database and user names containing spaces, commas, quotes and other
# special characters must be quoted.  Quoting one of the keywords
# "all", "sameuser", "samerole" or "replication" makes the name lose
# its special character, and just match a database or username with
# that name.
#
# This file is read on server startup and when the postmaster receives
# a SIGHUP signal.  If you edit the file on a running system, you have
# to SIGHUP the postmaster for the changes to take effect.  You can
# use "pg_ctl reload" to do that.

# Put your actual configuration here
# ----------------------------------
#
# If you want to allow non-local connections, you need to add more
# "host" records.  In that case you will also need to make PostgreSQL
# listen on a non-local interface via the listen_addresses
# configuration parameter, or via the -i or -h command line switches.



# TYPE  DATABASE        USER            ADDRESS                 METHOD

# IPv4 local connections:
host    all             all             127.0.0.1/32            md5
# IPv6 local connections:
host    all             all             ::1/128                 md5
# Allow replication connections from localhost, by a user with the
# replication privilege.
#host    replication     postgres        127.0.0.1/32            md5
#host    replication     postgres        ::1/128                 md5

Contenido postgresql.conf

Code: Select all

#------------------------------------------------------------------------------
# CONNECTIONS AND AUTHENTICATION
#------------------------------------------------------------------------------

# - Connection Settings -

listen_addresses = '*'      # what IP address(es) to listen on;
                    # comma-separated list of addresses;
                    # defaults to 'localhost'; use '*' for all
                    # (change requires restart)
port = 5432             # (change requires restart)
max_connections = 100           # (change requires restart)
 
Creo q estan habilitadas todas las opciones...
Saludos
LEANDRO ALFONSO
SISTEMAS LYMA - BASE
Bogotá (Colombia)
[ FWH 19.09 ] [ xHarbour 1.2.3 Intl. (SimpLex) (Build 20190613) ] [ Embarcadero C++ 7.30 for Win32 ]
User avatar
leandro
Posts: 958
Joined: Wed Oct 26, 2005 2:49 pm
Location: Colombia
Contact:

Re: Conexion a POSTGRESQL via ADO

Post by leandro »

RenOmaS Muchas Gracias por Responder....

Perdon mi ignorancia, pero según mis conocimientos creo que la aplicación cliente dll con la que trabajan es POWER BUILDER.

No se si esa era la pregunta.

Saludos
Saludos
LEANDRO ALFONSO
SISTEMAS LYMA - BASE
Bogotá (Colombia)
[ FWH 19.09 ] [ xHarbour 1.2.3 Intl. (SimpLex) (Build 20190613) ] [ Embarcadero C++ 7.30 for Win32 ]
User avatar
RenOmaS
Posts: 205
Joined: Fri Oct 07, 2005 5:07 pm

Re: Conexion a POSTGRESQL via ADO

Post by RenOmaS »

Hola:

Creo que dependiendo del cliente (DLL) la conexion string cambia, para esta q tu colocas
Provider=PostgreSQL OLE DB Provider;
Creo que es la que esta aqui http://pgfoundry.org/projects/oledb/

En todo caso si ya existe alguna otra aplicacion (en otro lenguage de programacion) puedes ver como ella se conecta con el Psotgres
Saludos/regards
RenOmaS

skype: americo.balboa
User avatar
leandro
Posts: 958
Joined: Wed Oct 26, 2005 2:49 pm
Location: Colombia
Contact:

Re: Conexion a POSTGRESQL via ADO

Post by leandro »

Me acabe de dar cuenta que por POWER BUILDER se conectan atravez de una conexion DSN del Sistema...

Como me puedo conectar de esa manera? Alguien tiene algun ejemplo?


Image


Saludos
Saludos
LEANDRO ALFONSO
SISTEMAS LYMA - BASE
Bogotá (Colombia)
[ FWH 19.09 ] [ xHarbour 1.2.3 Intl. (SimpLex) (Build 20190613) ] [ Embarcadero C++ 7.30 for Win32 ]
Post Reply