Embedded SQL es un método de combinar el cálculo de potencia de un lenguaje de programación y las bases de datos de manipulación de las capacidades de SQL . Las sentencias SQL incrustadas son sentencias SQL escritas en línea con el código fuente del programa , del lenguaje principal. Las sentencias de SQL incorporado son analizadas por un preprocesador de SQL incorporado y reemplazadas por llamadas del lenguaje principal a una biblioteca de código . La salida del preprocesador es luego compilada por el compilador del host.. Esto permite a los programadores incrustar sentencias SQL en programas escritos en cualquier número de lenguajes como C / C ++ , COBOL y Fortran . Esto difiere de los lenguajes de programación derivados de SQL que no pasan por preprocesadores discretos, como PL / SQL y T-SQL .
El comité de estándares SQL definió el estándar SQL incorporado en dos pasos: se definió un formalismo llamado Module Language , luego el estándar SQL incorporado se derivó del Module Language. [1] El estándar SQL define la incrustación de SQL como SQL incrustado y el lenguaje en el que se incrustan las consultas SQL se conoce como el lenguaje host . Un lenguaje host popular es C. El lenguaje host C y SQL incorporado, por ejemplo, se llama Pro * C en los sistemas de administración de bases de datos Oracle y Sybase , ESQL / C en Informix y ECPG en el sistema de administración de bases de datos PostgreSQL . SQL también puede estar incrustado en lenguajes como PHP, etc.
Sistemas que admiten SQL incorporado
Altibase
- C / C ++
- APRE es un precompilador de SQL incorporado proporcionado por Altibase Corp. para su servidor DBMS.
IBM DB2
IBM DB2 versión 9 para Linux, UNIX y Windows admite SQL incorporado para C, C ++, Java, COBOL, FORTRAN y REXX, aunque el soporte para FORTRAN y REXX ha quedado obsoleto. [2]
IBM Informix
IBM Informix versión 14.10 para Linux, Unix y Windows admite SQL incorporado para C. [3] }
Microsoft SQL Server
- C / C ++
- SQL incorporado para C ha quedado obsoleto a partir de Microsoft SQL Server 2008, aunque las versiones anteriores del producto lo admiten. [4]
Mimer SQL
Mimer SQL para Linux, macOS , OpenVMS y Windows admite SQL incorporado. [5]
- C / C ++
- SQL incorporado para C / C ++ es compatible con Linux, macOS, OpenVMS y Windows.
- COBOL
- El SQL incorporado para COBOL es compatible con OpenVMS.
- Fortran
- El SQL integrado para Fortran es compatible con OpenVMS.
Base de datos Oracle
- Ada
- Pro * Ada fue oficialmente des-compatible con Oracle en la versión 7.3. A partir de Oracle8, Pro * Ada fue reemplazado por SQL * Module, pero parece que no se ha actualizado desde entonces. [6] El módulo SQL * es un lenguaje de módulo que ofrece un método de programación diferente del SQL incorporado. El módulo SQL * admite el estándar de lenguaje Ada83 para Ada.
- C / C ++
- Pro * C se convirtió en Pro * C / C ++ con Oracle8. Pro * C / C ++ se admite actualmente a partir de Oracle Database 11 g .
- COBOL
- Pro * COBOL se admite actualmente a partir de Oracle Database 11 g .
- Fortran
- Pro * FORTRAN ya no se actualiza a partir de Oracle8, pero Oracle continuará emitiendo versiones de parches a medida que se informan y corrigen errores. [7]
- PL / I
- Pro * PL / I no se lanzó con Oracle8. El Pro * PL / I Suplemento de la Guía de Oracle Precompiladores , sin embargo, continuó haciendo apariciones en la documentación de Oracle Biblioteca hasta la versión 11 g . A partir de la versión 12c, Pro * PL / I se eliminó de la biblioteca de documentación de Oracle. [7]
PostgreSQL
- C / C ++
- ECPG es parte de PostgreSQL desde la versión 6.3.
- COBOL
- Cobol-IT ahora está distribuyendo un precompilador COBOL para PostgreSQL [ cita requerida ]
- Micro Focus proporciona soporte a través de su preprocesador OpenESQL [ cita requerida ]
Administrador de bases de datos Raima (RDM)
Raima Database Manager es compatible con SQL incorporado para C / C ++ y SQL PL. [8] [se necesita una fuente de terceros ]
SAP Sybase
SAP Sybase ASE 15.7 admite SQL incorporado para C y COBOL como parte del Software Developer Kit Sybase . [9]
SAP Sybase SQL Anywhere admite SQL incorporado para C y C ++ como parte del sistema de administración de bases de datos SQL Anywhere SQL Anywhere . [10]
SAP Sybase IQ es compatible con SQL incorporado para C y C ++ como parte del sistema de gestión de bases de datos Sybase IQ Sybase IQ . [11]
SQL incorporado a través de lenguajes específicos de dominio
- LINQ-to-SQL incorpora un lenguaje similar a SQL en lenguajes .NET .
- JPA incorpora un lenguaje similar a SQL a través de Criteria API en Java .
- jOOQ incorpora un lenguaje similar a SQL en Java .
Ver también
- Enlace de idioma
- PL / SQL
- Pro * C / C ++
- SQL / OLB
- SQL PL
- Transact-SQL
Referencias
- ^ "El concepto de lenguaje del módulo" . Módulo SQL * para la Guía del programador de Ada, versión 8.0, capítulo 1. Introducción al módulo SQL * . Oracle Corporation . Consultado el 14 de julio de 2008 .
- ^ "Base de datos DB2 para Linux, UNIX y Windows" . Desarrollo de aplicaciones SQL integradas . IBM . Consultado el 10 de abril de 2009 .
- ^ "Servidor dinámico Informix" . IBM® Informix ESQL / C . IBM . Consultado el 31 de marzo de 2020 .
- ^ "Características obsoletas del motor de base de datos en SQL Server 2008" . Libros en pantalla de SQL Server 2008 (marzo de 2009) . Microsoft . Consultado el 10 de abril de 2009 .
- ^ "SQL incorporado" . Mimer SQL Programmer's Manual versión 11.0, Embedded SQL . Mimer SQL .
- ^ "Soporte Ada en la Versión 8" . Migración de la base de datos Oracle9i, versión 2 (9.2), capítulo 5. Compatibilidad e interoperabilidad . Oracle Corporation . Consultado el 14 de julio de 2008 .
- ^ a b c "Alternativas de idioma" . Pro * COBOL Precompiler Programmer's Guide, Release 8.0, Capítulo 1. Introducción . Oracle Corporation . Consultado el 14 de julio de 2008 .
- ^ "Whitepaper técnico de Raima" (PDF) .
- ^ "EmbeddedSQL" . Productos SAP Sybase . SAP Sybase . Consultado el 5 de septiembre de 2012 .
- ^ "SAP Sybase SQL Anywhere" . Productos SAP Sybase . SAP Sybase. Archivado desde el original el 1 de mayo de 2013 . Consultado el 2 de mayo de 2013 .
- ^ "SAP Sybase IQ" . Productos SAP Sybase . SAP Sybase. Archivado desde el original el 4 de mayo de 2013 . Consultado el 2 de mayo de 2013 .
enlaces externos
- Introducción a SQL integrado de Pro * C
- SQL integrado con Pro * C
- Módulo SQL * para la Guía del programador de Ada, versión 8.0
- ECPG, documentación de PostgreSQL
- ESQL / C, documentación de Informix