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 <[email protected]> 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 -- TIP 3: Si encontraste la respuesta a tu problema, publícala, otros te lo agradecerán
