Una pregunta de novato sobre SQL Pass Through

186 views
Skip to first unread message

Fox Learner

unread,
Aug 3, 2012, 12:28:13 PM8/3/12
to publice...@googlegroups.com
Una pregunta de novato: El formato de la función SQLEXEC(), SQLSTRINGCONNECT(), SQLCOMMIT( ), etc. cambia dependiendo del driver (Odbc, ADO) que se use, y dependiendo del gestor que se use, o es uniforme para todos los casos ?

Saludos!

Victor Espina

unread,
Aug 3, 2012, 2:59:44 PM8/3/12
to publice...@googlegroups.com
No, es identico sin importar la fuente de datos con la que estas conectado.  En el caso de SQLSTRINGCONNECT() lo que cambia es el contenido de la cadena de conexion que se le pasa como primer parametro pero, una vez obtenido un handle de conexion (bien sea con SQLCONNECT o SQLSTRINGCONNECT) los demas comandos funcionan exactamente igual en cualquier caso.

Ahora, esto no implica que los COMANDOS que se le envian a la fuente de datos, via SQLEXEC(), para insertar, modificar, eliminar u obtener datos, sea identica tambien para todos los casos; alli si que hay diferencias marcadas entre un RDBMS y otro.


Saludos

Victor Espina

Fox Learner

unread,
Aug 3, 2012, 3:22:03 PM8/3/12
to publice...@googlegroups.com
Gracias maestro Victor!

Entonces, entendí que si uso MySql, o si uso Firebird, lo que ponga dentro de SQLExec(), variará de formato..

Claro, no me refiero a si variaría lo que desee consultar, porque eso es obvio que si, si no a que variaría la sintaxis, dependiendo del gestor.

Veo que no estaría tan facil lo de hacer un procedimiento (o clase) que aplique para todos los gestores..

De todos modos, leo que ya fox tiene su propia solución a eso: los Cursor Adapters.




Lo malo que según el ultimo link, tiene buen performance, tambien tiene sus detallitos.

Saludos!

Walter R. Ojeda Valiente

unread,
Aug 3, 2012, 4:50:22 PM8/3/12
to publice...@googlegroups.com
La forma de conectarte es siempre la misma, lo que cambia en cierta medida son los comandos que envías al motor SQL porque cada uno de ellos tiene sus particularidades. Supuestamente todos deberían cumpliar al 100% con los estándares SQL pero ninguno lo hace.

Saludos.

Walter.





Date: Fri, 3 Aug 2012 12:22:03 -0700
From: thenewin...@gmail.com
To: publice...@googlegroups.com
Subject: [vfp] Re: Una pregunta de novato sobre SQL Pass Through
--
 
 
 

Fox Learner

unread,
Aug 3, 2012, 5:00:44 PM8/3/12
to publice...@googlegroups.com
Gracias Walter,

Me queda claro que lo que va entre parentesis dependerá de la sintaxis que use el dialecto de Sql en cuestión.

Intentaré lo del Firebird 2.5 con W7 en la lap, según me comentaron.

Saludos!

Hugo C.

unread,
Aug 4, 2012, 12:34:48 AM8/4/12
to publice...@googlegroups.com
Primero aprende  SQL ANSI.

Saludos.

Carlos Miguel FARIAS

unread,
Aug 4, 2012, 10:45:11 AM8/4/12
to publice...@googlegroups.com
El 95% del SQL es idéntico o muy parecido entre los distintos SGBD (hablando de los SELECTs) que es lo que más se usa. Lo que generalmente difieren son las funciones de transformación de datos, o en alguna casos, las disponibilidad de tipos de datos muy específicos.
Algunos SGBD tienen limitaciones en la cantidad de tablas involucradas en una consulta, otros en la profundidad de selects anidados, otros en la posibilidad o no de incluir selects en lugar de campos y/o tablas.
Por supuesto que cuando empezamos a usar SQL que se apartan de los estándares, más no atamos a un SGBD determinado, pero en fin, que tan estamos atados al momento de la acción depende del gusto de cada uno.
Saludos: Miguel, La Pampa (RA)


--
 
 
 

Fox Learner

unread,
Aug 4, 2012, 10:40:26 PM8/4/12
to publice...@googlegroups.com
Que significaría entonces que Firebird es compatible "Completo" con SQL92 según este cuadro:



Sería algo bueno o algo malo?..

Y el ansi que menciona el compañero que gestor lo usa de forma completa ?... SQL Server ?

Saludos!

Carlos Miguel FARIAS

unread,
Aug 5, 2012, 10:34:05 AM8/5/12
to publice...@googlegroups.com
El informe es interesante, pero falta postgresql.
SQL Server tiene algunas cosas no estandar, no disponible en otras SGBD.
Lo mismo pasa con Oracle.
SQL92 no es la última estandarización, todos los SGBD estarían cumpliendo con esa normativa, pero todos tienen plus.
Lo que se debe tener en cuenta es si para el sistema a desarrollar o para el presupuesto del destinatario amerita usar un SGBD en lugar de otro.
Posiblemente, Firebird no tiene algunas características que puede tener SQL Server u Oracle, pero si en tu aplicación no la necesitas, evidentemente, que sea gratuito, es una ventaja, muy grande. Que no requiera un ABD y se solucione con simples backups, es una gran ventaja (menor requerimiento de capacitación).
Lo que es importante es que no hay una solución única para todas las situaciones.
Programando en VISUAL FOXPRO, tenemos una solución para muchisimas cosas, y posiblemente por muchos años.
Hasta se puede decir que se diseña un sistema usando dbfs, utilizando siempre comandos SQL, y una vez testeadas la funcionalidad, disponer de una clase (por que no Cursor Adapters) para conectarse al SGBD que más guste.

Saludos: Miguel, La Pampa (RA)


--
 
 
 

Fox Learner

unread,
Aug 5, 2012, 11:31:03 PM8/5/12
to publice...@googlegroups.com
Gracias Maestro Miguel! Entiendo que ese SQL ANSI es solo la norma, pero quizás ningún gestor la cumple al 100% y cada uno usa una sintaxis similar a la norma, pero con sus peculiaridades.

Saludos!

Carlos Miguel FARIAS

unread,
Aug 6, 2012, 7:08:33 AM8/6/12
to publice...@googlegroups.com
Si dice que lo cumplen, lo cumplen, pero además tienen cosas adicionales.

Saludos: Miguel, La Pampa (RA)

El 6 de agosto de 2012 00:31, Fox Learner <thenewin...@gmail.com> escribió:
Gracias Maestro Miguel! Entiendo que ese SQL ANSI es solo la norma, pero quizás ningún gestor la cumple al 100% y cada uno usa una sintaxis similar a la norma, pero con sus peculiaridades.

Saludos!

--
 
 
 

Walter R. Ojeda Valiente

unread,
Aug 6, 2012, 8:37:47 AM8/6/12
to publice...@googlegroups.com
Es que después de ANSI SQL92 salieron otras versiones, como puedes verificar aquí:

http://es.wikipedia.org/wiki/SQL

Lo ideal sería que un motor sea compatible 100% con el estándar ANSI SQL, pero eso no suele ocurrir.

Y ANSI es la organización yanqui que se encarga de estandarizar muchas cosas en ese país, no solamente lo relacionado con la Informática, como puedes ver aquí:

http://es.wikipedia.org/wiki/ANSI

Saludos.

Walter.





Date: Sat, 4 Aug 2012 19:40:26 -0700

From: thenewin...@gmail.com
To: publice...@googlegroups.com
Subject: [vfp] Re: Una pregunta de novato sobre SQL Pass Through

--
 
 
 
Reply all
Reply to author
Forward
0 new messages