Inbäddad SQL

Embedded SQL är en metod för att kombinera datorkraften hos ett programmeringsspråk och databashanteringsförmågan hos SQL . Inbäddade SQL- satser är SQL-satser skrivna i linje med programmets källkod för värdspråket. De inbäddade SQL-satserna tolkas av en inbäddad SQL- förprocessor och ersätts av värdspråksanrop till ett kodbibliotek . Utdata från förprocessorn kompileras sedan av värdkompilatorn . Detta gör att programmerare kan bädda in SQL-satser i program skrivna på valfritt antal språk som C/C++ , COBOL och Fortran . Detta skiljer sig från SQL-härledda programmeringsspråk som inte går igenom diskreta förprocessorer, som PL/SQL och T-SQL .

SQL-standardkommittén definierade den inbäddade SQL-standarden i två steg: en formalism som kallas Module Language definierades, sedan härleddes den inbäddade SQL-standarden från Module Language. SQL-standarden definierar inbäddning av SQL som inbäddad SQL och språket som SQL-frågor är inbäddade i kallas värdspråket . Ett populärt värdspråk är C. Värdspråk C och inbäddad SQL kallas till exempel Pro*C i Oracle och Sybase databashanteringssystem, ESQL/C i Informix och ECPG i PostgreSQL databashanteringssystem. SQL kan också vara inbäddad i språk som PHP etc.

System som stöder inbäddad SQL

Altibase

C/C++
APRE är en inbäddad SQL-förkompilator som tillhandahålls av Altibase Corp. för sin DBMS-server.

IBM Db2

IBM Db2 för Linux, UNIX och Windows stöder inbäddad SQL för C, C++, Java, COBOL, FORTRAN och REXX även om stöd för FORTRAN och REXX har fasats ut.

IBM Informix

IBM Informix version 14.10 för Linux, Unix och Windows stöder inbäddad SQL för C. }

Microsoft SQL Server

C/C++
Embedded SQL för C har fasats ut från och med Microsoft SQL Server 2008 även om tidigare versioner av produkten stöder det.

Mimer SQL

Mimer SQL för Linux, macOS , OpenVMS och Windows stöder inbäddad SQL.

C/C++
Embedded SQL för C/C++ stöds på Linux, macOS, OpenVMS och Windows.
COBOL
Embedded SQL för COBOL stöds på OpenVMS.
Fortran
Embedded SQL för Fortran stöds på OpenVMS.

Oracle Database

Ada
Pro*Ada stöddes officiellt av Oracle i version 7.3. Från och med Oracle8 ersattes Pro*Ada av SQL*Module men verkar inte ha uppdaterats sedan dess. SQL*Module är ett modulspråk som erbjuder en annan programmeringsmetod än inbäddad SQL. SQL*Module stöder Ada83-språkstandarden för Ada.
C/C++
Pro*C blev Pro*C/C++ med Oracle8. Pro*C/C++ stöds för närvarande från och med Oracle Database 11 g .
COBOL
Pro*COBOL stöds för närvarande från och med Oracle Database 11 g .
Fortran
Pro*FORTRAN uppdateras inte längre från och med Oracle8 men Oracle kommer att fortsätta att utfärda patch-releaser allt eftersom buggar rapporteras och korrigeras.
Pascal
Pro*Pascal släpptes inte med Oracle8.
PL/I
Pro*PL/I släpptes inte med Oracle8. Pro *PL/I-tillägget till Oracle Precompilers Guide fortsatte dock att dyka upp i Oracle Documentation Library fram till release 11 g . Från och med release 12c har Pro*PL/I tagits bort från Oracle Documentation Library.

PostgreSQL

C/C++
ECPG är en del av PostgreSQL sedan version 6.3.
COBOL
Cobol-IT distribuerar nu en COBOL-förkompilator för PostgreSQL [ citat behövs ]
Micro Focus ger support via deras OpenESQL-förprocessor [ citat behövs ]

SAP Sybase

SAP Sybase ASE 15.7 stöder inbäddad SQL för C och COBOL som en del av Software Developer Kit Sybase .

SAP Sybase SQL Anywhere stöder inbäddad SQL för C och C++ som en del av SQL Anywhere-databashanteringssystemet SQL Anywhere .

SAP Sybase IQ stöder inbäddad SQL för C och C++ som en del av Sybase IQ-databashanteringssystemet Sybase IQ .

Inbäddad SQL genom domänspecifika språk

Se även

  1. ^ "Modulspråkkonceptet" . SQL*Module for Ada Programmersguide, Release 8.0, Kapitel 1. Introduktion till SQL*Module . Oracle Corporation . Hämtad 2008-07-14 .
  2. ^ "DB2-databas för Linux, UNIX och Windows" . Utveckla inbyggda SQL-applikationer . IBM . Hämtad 2009-04-10 .
  3. ^ "Informix Dynamic Server" . IBM® Informix® ESQL/C . IBM . Hämtad 2020-03-31 .
  4. ^ "Utfasade databasmotorfunktioner i SQL Server 2008" . SQL Server 2008 Books Online (mars 2009) . Microsoft . Hämtad 2009-04-10 .
  5. ^ "Inbäddad SQL" . Mimer SQL Programmerarmanual version 11.0, Embedded SQL . Mimer SQL .
  6. ^ "Ada Support i version 8" . Oracle9i Database Migration, Release 2 (9.2), Kapitel 5. Kompatibilitet och interoperabilitet . Oracle Corporation . Hämtad 2008-07-14 .
  7. ^ a b c "Språkalternativ" . Pro*COBOL Precompiler Programmer's Guide, Release 8.0, Kapitel 1. Inledning . Oracle Corporation . Hämtad 2008-07-14 .
  8. ^ "EmbeddedSQL" . SAP Sybase-produkter . SAP Sybase . Hämtad 2012-09-05 .
  9. ^ "SAP Sybase SQL Anywhere" . SAP Sybase-produkter . SAP Sybase. Arkiverad från originalet 2013-05-01 . Hämtad 2013-05-02 .
  10. ^ "SAP Sybase IQ" . SAP Sybase-produkter . SAP Sybase. Arkiverad från originalet 2013-05-04 . Hämtad 2013-05-02 .

externa länkar