stringtranslate.com

SQL integrado

El SQL embebido es un método que combina la potencia de cálculo de un lenguaje de programación y las capacidades de manipulación de bases de datos de SQL . Las sentencias SQL embebidas son sentencias SQL escritas en línea con el código fuente del programa , del lenguaje anfitrión. Las sentencias SQL embebidas son analizadas por un preprocesador SQL embebido y reemplazadas por llamadas del lenguaje anfitrión a una biblioteca de código . La salida del preprocesador es luego compilada por el compilador anfitrión . 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 embebido en dos pasos: se definió un formalismo llamado lenguaje de módulos , luego el estándar SQL embebido se derivó de lenguaje de módulos. [1] El estándar SQL define la incrustación de SQL como SQL embebido y el lenguaje en el que se incrustan las consultas SQL se conoce como lenguaje host . Un lenguaje host popular es C. El lenguaje host C y SQL embebido, 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 embebido en lenguajes como PHP, etc.

El estándar SQL SQL:2023 está disponible mediante compra y contiene el capítulo 21 SQL integrado y sus reglas de sintaxis. [2]

Sistemas de bases de datos que admiten SQL integrado

Base de altibajos

C/C++
APRE es un precompilador SQL integrado proporcionado por Altibase Corp. para su servidor DBMS.

IBM Db2

IBM Db2 para Linux, UNIX y Windows admite SQL integrado para C, C++, Java, COBOL, FORTRAN y REXX, aunque la compatibilidad con FORTRAN y REXX ha quedado obsoleta. [3]

IBM Informix

IBM Informix versión 14.10 para Linux, Unix y Windows admite SQL integrado para C. [4] }

Servidor Microsoft SQL

C/C++
El SQL integrado para C ha quedado obsoleto a partir de Microsoft SQL Server 2008, aunque versiones anteriores del producto lo admiten. [5]

SQL Mimer

Mimer SQL para Linux, macOS , OpenVMS y Windows admiten SQL integrado. [6]

C/C++
Embedded SQL para C/C++ es compatible con Linux, macOS, OpenVMS y Windows.
COBOL
OpenVMS admite SQL integrado para COBOL.
Fortran
OpenVMS admite SQL integrado para Fortran.

Base de datos Oracle

Ada
Oracle dejó de ofrecer soporte para Pro*Ada 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. [7] SQL*Module es un lenguaje de módulos que ofrece un método de programación diferente al SQL integrado. SQL*Module admite el estándar de lenguaje Ada83 para Ada.
C/C++
Pro*C se convirtió en Pro*C/C++ con Oracle8. Actualmente, Pro*C/C++ se admite a partir de Oracle Database 11 g .
COBOL
Pro*COBOL actualmente es compatible con Oracle Database 11 g .
Fortran
Pro*FORTRAN ya no se actualiza a partir de Oracle8, pero Oracle seguirá publicando parches a medida que se informen y corrijan errores. [8]
Pascal
Pro*Pascal no se lanzó con Oracle8. [8]
PL/YO
Pro*PL/I no se publicó con Oracle8. Sin embargo, el Suplemento Pro*PL/I de la Guía de precompiladores de Oracle siguió apareciendo en la Biblioteca de documentación de Oracle 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. [8]

PostgreSQL

C/C++
ECPG es parte de PostgreSQL desde la versión 6.3.
COBOL
Cobol-IT ahora distribuye un precompilador COBOL para PostgreSQL [ cita requerida ]
Micro Focus proporciona soporte a través de su preprocesador OpenESQL [ cita requerida ]

SAP Sybase

SAP Sybase ASE 15.7 admite SQL integrado para C y COBOL como parte del kit para desarrolladores de software Sybase . [9]

SAP Sybase SQL Anywhere admite SQL integrado para C y C++ como parte del sistema de gestión de bases de datos SQL Anywhere . [10]

SAP Sybase IQ admite SQL integrado para C y C++ como parte del sistema de gestión de bases de datos Sybase IQ . [11]

SQL integrado a través de lenguajes específicos del dominio

Véase también

Referencias

  1. ^ "El concepto de lenguaje de módulos". Guía del programador de SQL*Module para Ada, versión 8.0, capítulo 1. Introducción a SQL*Module . Oracle Corporation . Consultado el 14 de julio de 2008 .
  2. ^ "SQL Standard 2023 Chapter 21 Embedded SQL" (Norma SQL 2023 Capítulo 21 SQL integrado). ISO/IEC 9075-2:2023 Tecnología de la información — Lenguajes de bases de datos — SQL — Parte 2: Fundamentos (SQL/Foundation) . ISO . Consultado el 17 de agosto de 2023 .
  3. ^ "Base de datos DB2 para Linux, UNIX y Windows". Desarrollo de aplicaciones SQL integradas . IBM . Consultado el 10 de abril de 2009 .
  4. ^ "Informix Dynamic Server". IBM® Informix® ESQL/C . IBM . Consultado el 31 de marzo de 2020 .
  5. ^ "Características obsoletas del motor de base de datos en SQL Server 2008". Libros en línea de SQL Server 2008 (marzo de 2009) . Microsoft . Consultado el 10 de abril de 2009 .
  6. ^ "SQL embebido". Manual del programador de Mimer SQL, última versión, SQL embebido . Mimer SQL .
  7. ^ "Compatibilidad con Ada en la versión 8". Oracle9i Database Migration, versión 2 (9.2), capítulo 5. Compatibilidad e interoperabilidad . Oracle Corporation . Consultado el 14 de julio de 2008 .
  8. ^ abc "Alternativas de lenguaje". Guía del programador del precompilador Pro*COBOL, versión 8.0, capítulo 1. Introducción . Oracle Corporation . Consultado el 14 de julio de 2008 .
  9. ^ "EmbeddedSQL". Productos SAP Sybase . SAP Sybase . Consultado el 5 de septiembre de 2012 .
  10. ^ "SAP Sybase SQL Anywhere". Productos SAP Sybase . SAP Sybase. Archivado desde el original el 2013-05-01 . Consultado el 2013-05-02 .
  11. ^ "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