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
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 |