conectar VFP 9 con Postgresql

389 views
Skip to first unread message

Luis Hilario

unread,
Sep 21, 2021, 2:26:02 PM9/21/21
to visu...@gruposyahoo.com.ar, publice...@googlegroups.com
hola compañeros:
Tengo esta coneccion y la coneccion es positiva  "cn" es mayor que cero, pero no logro traer la data.

-------------
cCadena="Driver={PostgreSQL Unicode};Server=168.122.95.26;Port=6010;Database=agv009;Uid=sanidad;Pwd=foliar;"

SQLSETPROP(0,"DispLogin" , 3 )
cn = SQLSTRINGCONNECT(cCadena)

IF cn > 0
WAIT WINDOW "OKKK" nowait
  = SQLEXEC(cn, "SET search_path = agv0")
  = SQLEXEC(cn, "select * from agv0.adm_etapas", "etapa")
SELECT * FROM etapa

ELSE
 WAIT "NOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO" windows
endif


alguna sugerencia?

_______________________________

Luis Hilario Contreras
Celular: 920-626-050



Víctor Hugo Espínola Domínguez

unread,
Sep 21, 2021, 2:38:17 PM9/21/21
to publice...@googlegroups.com
Debes guardar el resultado de la función SQLEXEC para detectar si hubo error o no:

lnRet = SQLEXEC(cn, "SET search_path = agv0")
If m.lnRet < 1
    = Aerror(laError)
    lcError = "Error SQL!: " + Chr(13) + Chr(10) + "N° " + Transform(m.laError[1]) + " " + m.laError[2]
    Messagebox(m.lcError  )
    Cancel
Endif

Saludos,
Víctor.
Lambaré - Paraguay.



--
Blog de la Comunidad Visual FoxPro en Español: http://comunidadvfp.blogspot.com
---
Has recibido este mensaje porque estás suscrito al grupo "Comunidad de Visual Foxpro en Español" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a publicesvfoxp...@googlegroups.com.
Para ver esta conversación en el sitio web, visita https://groups.google.com/d/msgid/publicesvfoxpro/CAKFTPhwR_dCN1L2Xsd%3DJG_8Fy0%2BCTn5pRUPZMHXQy%3DEFdvVqiA%40mail.gmail.com.

Luis Hilario

unread,
Sep 21, 2021, 3:22:05 PM9/21/21
to publice...@googlegroups.com
Gracias por tu respuesta Victor Hugo,

el valor del lnRet me sale 1

he guardado la consulta y el tmp me sale -1

IF cn > 0
WAIT WINDOW "OKKK" nowait
&& = SQLEXEC(cn, "SET search_path = agv0")

  lnRet = SQLEXEC(cn, "SET search_path = agv0")
 
If m.lnRet < 1
   = Aerror(laError)
   lcError = "Error SQL!: " + Chr(13) + Chr(10) + "No " + Transform(m.laError[1]) + " " + m.laError[2]
   Messagebox(m.lcError  )
   Cancel
ENDIF
    tmp = SQLEXEC(cn, "select * from agv0.adm_etapas;", "etapa")
    ?tmp
ELSE
 WAIT "NOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO" windows
ENDIF

gracias vi que ese usuario no tiene permiso para usar ese esquema

muchas gracias!!!!!

HernanCano

unread,
Sep 22, 2021, 2:01:20 AM9/22/21
to Comunidad de Visual Foxpro en Español
Por favor, Luis:
Lo mismo que hiciste con el primer SQLEXEC() ("SET search_path = agv0") (que fue lo que te dijo Víctor) debes hacerlo también para el segundo SQLEXEC() ("select * from agv0.adm_etapas").

hector appendino

unread,
Sep 22, 2021, 10:10:13 AM9/22/21
to publice...@googlegroups.com
Hay alguna ventaja significstivamente importante para usar postgre en vez de MySQL?

Esteban Herrero

unread,
Sep 22, 2021, 10:20:00 AM9/22/21
to publice...@googlegroups.com

La principal es la licencia Free de PG contra MySql q debe ser licenciado si se utiliza en modo comercial.

Despues es cuestion de gustos, PG ha crecido mucho, y x ser un motor Free q compite con las versiones comerciales en cuanto a prestaciones.

Saludos

Aarón Delgado

unread,
Sep 22, 2021, 10:21:31 AM9/22/21
to publice...@googlegroups.com
Depende de lo que se quiera hacer, se tienen que evaluar según el tipo de proyecto.
En mi caso uso mySQL y mariaDB en VisualFoxpro y aplicaciones web en pequeñas empresas, en estos casos el cliente solo quiere su aplicación y poco le interesa que base de datos se usa.
SQLServer para medianas empresas, estos clientes ya tienen un área de sistemas, y por lo general piden SQLServer u Oracle.

Aquí buen artóculo:

Saludos cordiales;

DELGADO JAIMES, Roberto Aarón
Fijo: 013969545 /  Movistar: 988316319



Carlos Miguel FARIAS

unread,
Sep 22, 2021, 10:52:32 AM9/22/21
to Grupo Fox
Depende del tipo de aplicaciones que hagas.
Postgresql es libre en todas sus versiones. MySQL tiene licencia paga a partir de ciertas configuraciones (es propiedad de Oracle).
Postgresql maneja más tipos de datos que MySQL, es pesado para instalaciones chicas pero escala sin problemas. Tiene un único tipo de tablas equivalente las INNODB de MySQL, o sea siempre tiene integridad referencial (si la estableces). Si necesitas capacidades de BD documentales (NO SQL) PostgreSQL lo tiene. También tiene cierta capacidad para gestionar BDOO.
Si necesitas capacidad para manejar datos georreferenciados, PostgreSQL cuenta con datos y funciones apropiados.
Postgresql soporta campos json, diccionarios (clave valor), arreglos dinámicos con facilidades de indexación para casi todos ellos.
MySQL es más rápido que PostgreSQL si usas tablas myisam, pero esas tablas no soportan integridad referencial (hasta las dbf lo soportan).
En todo caso, utilizaría mariaDB, que ha estado evolucionando más que MySQL.
La única ventaja que le veo a MySQL es que si necesitas hosting, posiblemente hay mayor oferta (y el tema de las licencias se encarga el anfitrión).
Eso si, PostgreSQL solo soporta números con algo más de 100 mil dígitos y algo menos de 17 mil decimales.


Luis Hilario

unread,
Sep 23, 2021, 12:57:24 PM9/23/21
to publice...@googlegroups.com
deje de usar el mysql cuando me di cuenta que con cualquier editor de texto podía abrir el backup y modificar cualquier dato, en ese aspecto el postgres es mas confiable.

ggcagnola gmail

unread,
Sep 23, 2021, 12:59:30 PM9/23/21
to publice...@googlegroups.com

si hacés un "dump plain" puede pasar lo mismo... con el custom no

HernanCano

unread,
Sep 23, 2021, 1:28:49 PM9/23/21
to Comunidad de Visual Foxpro en Español
¿Seguro?????
Sí se aprenden cosas nuevas..............

Dsan

unread,
Sep 23, 2021, 2:10:44 PM9/23/21
to publice...@googlegroups.com

ggcagnola 

Y por esa y muchas razones, en mi país, existe la fibre de sql server y oracle... 

Saludos

DSG

ggcagnola gmail

unread,
Sep 24, 2021, 7:19:58 AM9/24/21
to publice...@googlegroups.com

sql server es caro...

por eso uso postgresql

Dsan

unread,
Sep 24, 2021, 2:03:08 PM9/24/21
to publice...@googlegroups.com
Es cierto, pero la mayoría de las pyme aca, usan sql server express y la versión de oracle 10g  limitada, resuelven, y sobre todo tiene un poco mas de seguridad.... algunas instituciones del estado usan postgresql..lógico para no pagar licencia... 

sql server es caro...

 

Carlos Miguel FARIAS

unread,
Sep 24, 2021, 2:15:50 PM9/24/21
to Grupo Fox
Aca tienes porque conviene usar postgresql y no oracle. https://www3.dbmaestro.com/blog/postgresql-vs-oracle-the-battle-of-the-titanshttps://hevodata.com/learn/postgresql-vs-oracle/https://db-engines.com/en/system/Oracle%3BPostgreSQL
Oracle puede ser mejor si cuentas opciones, pero todas las opciones cuestan.
Tendrías que tener un sistema muy sofisticado para justificar pagar una licencia Oracle.
A nosotros nos pasó en la opción de que nos proveían un software con SQL Server, versión comunitaria, pero sólo servía para esa aplicación. Si queríamos usar una versión que soportara el conjunto de todas las BD, los costos eran elevadísimos.
Saludos: Miguel

Reply all
Reply to author
Forward
0 new messages