Welkom op de Nederland Computer Kennisnetwerk!  
 
Zoeken computer kennis
Home Hardware Netwerken Programmering Software Computerstoring Besturingssysteem
Computer Kennis >> Software >> SQL Server >> Content
Waarom is een precompiler nodig om Embedded SQL en SQLJ niet voor JDBC te vertalen?
Voor ingebedde SQL (zoals in C of COBOL) en SQLJ (een Java-extensie) zijn precompilers nodig omdat ze SQL-instructies *binnen* de broncode van de hosttaal rechtstreeks insluiten. JDBC daarentegen behandelt SQL als gegevens die aan een database worden doorgegeven; het is niet verweven met de Java-code zelf.

Dit is de reden waarom een ​​precompiler nodig is voor de ingebedde benaderingen, maar niet voor JDBC:

* Code-integratie en -compilatie: Ingebedde SQL- en SQLJ-instructies worden niet begrepen door standaard C-, COBOL- of Java-compilers. De taak van de precompiler is om:

* Ontleed de SQL: Het analyseert de ingebedde SQL-instructies, controleert de syntaxis en valideert database-interacties.

* Genereer hosttaalcode: Het vertaalt deze SQL-instructies in aanroepen naar de API van een databasestuurprogramma (of gelijkwaardige databasetoegangsmechanismen op laag niveau). Dit genereert code in de hosttaal die communiceert met de database, de verbinding afhandelt, de uitvoering van query's en het ophalen van resultaten.

* Combineren met hosttaalcode: De precompiler weeft deze gegenereerde code terug in de broncode van het hostprogramma, waardoor een compleet programma ontstaat dat klaar is voor standaardcompilatie.

* Gegevenstypetoewijzing: De precompiler verzorgt de mapping tussen de gegevenstypen van de hosttaal en de gegevenstypen van de database. Dit is van cruciaal belang omdat de hosttaal en de database verschillende representaties kunnen gebruiken voor getallen, tekenreeksen, datums, enz.

* Dynamische SQL-verwerking: Als de ingebedde SQL dynamische SQL gebruikt (SQL-instructies gebouwd tijdens runtime), moet de precompiler de juiste code genereren om de constructie en uitvoering van deze dynamisch gegenereerde query's af te handelen.

De andere aanpak van JDBC:

JDBC gebruikt een compleet andere architectuur. SQL-instructies worden binnen de Java-code behandeld als tekenreeksen. Het JDBC-stuurprogramma zorgt voor de vertaling en uitvoering van deze tekenreeksen. Er is geen precompilatie nodig omdat:

* Runtime-uitvoering: De SQL wordt *tijdens runtime* naar de database verzonden. Het JDBC-stuurprogramma zorgt voor het parseren en uitvoeren van de SQL-instructies.

* String-gebaseerde SQL: SQL wordt doorgegeven als een string; de Java-compiler heeft geen speciale kennis van SQL-syntaxis nodig.

* Verantwoordelijkheid van de bestuurder: De chauffeur is verantwoordelijk voor alle communicatie met de database, inclusief typetoewijzing en foutafhandeling.

In wezen vereisen embedded SQL en SQLJ dat precompilers de kloof tussen de hosttaal en de database tijdens het compileren overbruggen, terwijl JDBC deze overbrugging tijdens runtime afhandelt met behulp van een stuurprogramma. Dit maakt JDBC flexibeler en draagbaarder, maar in sommige gevallen mogelijk minder efficiënt dan de strak geïntegreerde aanpak van embedded SQL en SQLJ.

Previous: Next:
  SQL Server
·Hoe te installeren Microsoft S…
·Is Oracle een webgebaseerd sys…
·Wat zijn schoteldiensten? 
·Hoe maak je een SQL Server -in…
·Als ik een carrière als DBA w…
·Hoe kan ik een cliënt verbind…
·SQL Server 2005 Admin Training…
·Wat is het verschil tussen MyS…
·SQL -instructie voor het ophal…
  Related Articles
Wanneer heeft een computer toegang tot R…
Wat is de worst-case tijdscomplexiteit v…
Wat is de tijdscomplexiteit van vectorin…
Wat is de tijdscomplexiteit van het back…
Wat is de tijdscomplexiteit van het back…
Wat is de tijdscomplexiteit van quicksor…
Wat is de tijdscomplexiteit van het quic…
Wat is de tijdscomplexiteit van het verw…
Wat is de tijdscomplexiteit van backtrac…
  Software Articles
·Stijlen van iWork Pages 
·Hoe maak je automatisch nummer een tabel…
·Hoe naar Canvas exporteren naar Illustra…
·Heb je de Express Plus Pass nodig bij Un…
·Hoe wordt de digitale kunst maken in Ado…
·Is het gratis om je te registreren voor …
·Hoe het opzetten van een brochure in InD…
·Hoe te downloaden van een afbeelding van…
·Top 10 professionele fiscale software 
Copyright © Computer Kennis https://www.nldit.com