Sentencias SQL embebidas usando DB2

Hernan M Foffani hfoffani en gmail.com
Mie Jul 4 11:20:51 CEST 2007


On 7/3/07, Daniel Cabrera <cabrerachaparro en gmail.com> wrote:
> Quieres decir que una aplicacion creada usando SQL Embebido seria mas
> portable en lo que se refiere al motor de BDs?

No, al contrario. Con SQL Embebido sería *menos* portable.
En la práctica quien define la sintaxis del SQL incrustado suele
ser el mismo proveedor del gestor de BD.  Por ejemplo, el PRO*C
de Oracle. Lo que escribes en PRO*C luego se traduce (mediante un
preprocesador provisto por Oracle) a lenguaje C.
¿Cómo compilarías (traducirías) el PRO*C para que acceda a una
BD de Microsoft SQLServer? Aunque tus sentencias SQL sean de lo
mas estándar, la sintaxis y las herramientas de desarrollo
son propias de Oracle.

> O sea una aplicacion hecha en
> Python usando la API de DB2, habria que cambiar toda la parte
> referente a SQL para poder usarla con otro motor de BD

No toda. Si la API de DB2 es compatible con DB-API y no haces
uso de particularidades propias al motor de IBM, en la práctica
sólo tendrías que cambiar los datos de conexión y algunas cosillas
mas.

Además, como programas usando una APIs y bibliotecas, el lenguaje
(Python en este caso) no se modifica y puedes usar los editores,
IDEs y depuradores que se te antojen.

>
> El día 3/07/07, Hernan M Foffani <hfoffani en gmail.com> escribió:
> >
> > Era sólo una especulación mía considerando que Sun mantiene
> > una política bastante estricta de lo que puede llamarse Java.
> > Pero no tiene mayor importancia.
> >
> > En cuanto a Python no hay implementaciones de SQL embebido,
> > que yo sepa (creo recordar haber leído sobre una propuesta de
> > incrustar XML que no llegó muy lejos).
> >
> > Como la mayoría de las implementaciones son preprocesadores
> > cuya salida es el lenguaje original mas una API de acceso a
> > la BD al final te pierdes muchas cosas (portabilidad con
> > otros motores, herramientas de análisis de código, editores,
> > depuradores, etc. etc.)  Para mí nunca ha sido buen negocio.
> >
> >
> >
> > On 7/3/07, Daniel Cabrera <cabrerachaparro en gmail.com> wrote:
> > > Si efectivamente "SQL Embebido" es insertar sentencias SQL en la
> > sintaxis
> > > del lenguaje de programación. Pero no entiendo a que te refieres con que
> > > legalmente no podría llamarse Java?
> > >
> > > El día 3/07/07, Hernan M Foffani <hfoffani en gmail.com> escribió:
> > > >
> > > > En realidad depende a qué llamas "SQL embebido".
> > > > Para mí son sentencias SQL directamente incorporadas
> > > > a la sintaxis de un lenguaje. Estrictamente hablando
> > > > el lenguaje resultante no podría llamarse ni C ni Java.
> > > > Es mas, sospecho que hasta *legalmente* no se podría
> > > > llamar Java.
> > > >
> > > >
> > > > On 7/3/07, Daniel Cabrera <cabrerachaparro en gmail.com> wrote:
> > > > > Bueno parece que si es usado en lenguajes compilados porque los
> > ejemplos
> > > > son
> > > > > usado en C, Cobol, pero tambien Java y sino me equivoco Java no es
> > > > > compilado.
> > > > >
> > > > > El día 3/07/07, Jordi Funollet <jordi.f en ati.es> escribió:
> > > > > >
> > > > > > Daniel Cabrera dixit:
> > > > > > > Hola,
> > > > > > >
> > > > > > > Estoy leyendo un manual de DB2 en el se mencionan que se pueden
> > > > crear
> > > > > > > sentencias SQL embebidas en algunos lenguajes de programación
> > como
> > > > C,
> > > > > > Cobol
> > > > > > > y Java. Mi pregunta es si se puede hacer lo mismo usando Python,
> > > > > >
> > > > > > Depende de la base de datos, y no conozco DB2. Si te interesa
> > tener
> > > > > > 'stored
> > > > > > procedures' en Python, recuerdo que PostgreSQL lo soporta.
> > > > > >
> > > > > > > se que hay
> > > > > > > un API PyDB2 que te permite conectarte a DB2, pero no se si es
> > lo
> > > > mismo
> > > > > > que
> > > > > > > usar sentencias embebidas,
> > > > > >
> > > > > > No, son cosas separadas.
> > > > > >
> > > > > > --
> > > > > > ##############################
> > > > > > ### Jordi Funollet
> > > > > > ### http://www.terraquis.net
> > > > > > _______________________________________________
> > > > > > Python-es mailing list
> > > > > > Python-es en aditel.org
> > > > > > http://listas.aditel.org/listinfo/python-es
> > > > > >
> > > > >
> > > > >
> > > > >
> > > > > --
> > > > > Daniel Cabrera Chaparro
> > > > > Noticias Interesantes de Linux en http://comulinux.blogspot.com/
> > > > > _______________________________________________
> > > > > Python-es mailing list
> > > > > Python-es en aditel.org
> > > > > http://listas.aditel.org/listinfo/python-es
> > > > >
> > > > _______________________________________________
> > > > Python-es mailing list
> > > > Python-es en aditel.org
> > > > http://listas.aditel.org/listinfo/python-es
> > > >
> > >
> > >
> > >
> > > --
> > > Daniel Cabrera Chaparro
> > > Noticias Interesantes de Linux en http://comulinux.blogspot.com/
> > > _______________________________________________
> > > Python-es mailing list
> > > Python-es en aditel.org
> > > http://listas.aditel.org/listinfo/python-es
> > >
> > _______________________________________________
> > Python-es mailing list
> > Python-es en aditel.org
> > http://listas.aditel.org/listinfo/python-es
> >
>
>
>
> --
> Daniel Cabrera Chaparro
> Noticias Interesantes de Linux en http://comulinux.blogspot.com/
> _______________________________________________
> Python-es mailing list
> Python-es en aditel.org
> http://listas.aditel.org/listinfo/python-es
>




Más información sobre la lista de distribución Python-es