Re: Ayuda con cadena de conexion ODBC windows XP SP 3 desde VFP a POSTGRESQL 8.4

From: Carlos Joaniquet <cjtambur(at)yahoo(dot)es>
To: Patricio Castro <pmcastrob(at)gmail(dot)com>
Cc: Raúl Andrés Duque Murillo <ra_duque(at)yahoo(dot)com(dot)mx>, José Luis Carranza <joseluis(at)adesynet(dot)com>, "Hector R(dot) De los Santos \(Consultor TI\)" <zahory(at)gmail(dot)com>, "pgsql-es-ayuda(at)postgresql(dot)org" <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: Ayuda con cadena de conexion ODBC windows XP SP 3 desde VFP a POSTGRESQL 8.4
Date: 2009-12-08 10:05:19
Message-ID: 438356.47159.qm@web24820.mail.ird.yahoo.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Hola. A primera vista parace todo correcto. Supongo te conecta si tienes configurado Posgre con los mismos parámetros que los de las variables para conectarte.

=SQLSETPROP(gnConnHandle_temp,'Transactions',1)

....

IF SQLCOMMIT(gnConnHandle_temp)>0

Pero veo estas trabajando con transacciones desde VFP, cosa nada aconsejable. Cuando trabajas con DB remotas, por lo que he podido experimentar, lo mejor es con Instrucciones de paso (instrucciones SQL propias del motor de base de datos) y las transacciones desde el servidor remoto. No vistas remotas y no SQLCOMMITS y SQLROLLBACS de Fox. De esta forma controlas perfectamente todo.
Si SQLEXECT te devuelve 1 ha funcionado correctamente. Entonces puedes enviar un COMMIT de la misma manera que lo has hecho con el INSERT. Si vuelves a obtener 1 la transacción ha finalizado correctamente.

Carlos Joaniquet Tamburini

El 07/12/2009, a las 14:42, Patricio Castro <pmcastrob(at)gmail(dot)com> escribió:

Hola yo programa también en VFP 9, analiza este ejemplo, sobre todo la cadena de conexión y me cuentas por favor:

lcServidor = 'localhost'
lcPuerto = '5432'
lcBaseDatos = 'prueba'
usu = 'postgres'
pass = '1234'

lcStr = 'DRIVER={PostgreSQL Ansi};SERVER=' + lcServidor +;
';port=' + lcPuerto + ';DATABASE=' + ALLTRIM(lcBaseDatos) +;
';UID=' + usu +;
';PWD='+ pass +';'

gnConnHandle_temp= SQLSTRINGCONNECT(lcStr,.T.)

if gnConnHandle_temp = -1
AERROR(arrayerror)

if arrayerror(4)='28000' then
MESSAGEBOX('Usuario o contraseña incorrectos',16,':: Error en la conexión ::')
endif
else
WAIT WINDOW "Conexion exitosa"
=SQLSETPROP(gnConnHandle_temp,'Transactions',1)

sqlexec(gnConnHandle_temp,"INSERT INTO ventas (cli_rut,ven_moto)VALUES (' 18855997', 221379)")

IF SQLCOMMIT(gnConnHandle_temp)>0
MESSAGEBOX("Datos Actualizados",0+42,"Mensaje de Dialogo")
ELSE
IF AERROR(laError)>0
MESSAGEBOX("Se ha producido un error"+laError[2])
endif
endif
= SQLDISCONNECT(gnConnHandle_temp)
endif


Patricio Castro Benavides

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Gilberto Castillo Martínez 2009-12-08 13:40:34 Re: SOT: Mejor estrategia para realizar copias de seguridad de BD PostgrSQL
Previous Message Jaime Casanova 2009-12-08 04:23:52 Re: ayuda