Pro*C

Da Wikipedia, l'enciclopedia libera.
Vai alla navigazione Vai alla ricerca

Pro*C/C++, più comunemente noto come Pro*C, è uno strumento per includere comandi SQL in un programma C o C++. Si comporta a tutti gli effetti come un precompilatore: il codice sorgente scritto in Pro*C viene tradotto in codice C con chiamate alle librerie ORACLE.

Compilazione[modifica | modifica wikitesto]

La compilazione completa avviene in più passaggi:

  1. Il codice sorgente esempio.pc viene prima passato al precompilatore Pro*c, che creerà il file sorgente C esempio.c: proc esempio.pc
  2. Il file sorgente esempio.c viene passato al compilatore C, che creerà il file oggetto esempio.o
  3. Il file oggetto esempio.o si collega alle librerie Oracle runtime library, comunemente nota come SQLLIB, attraverso il linker
  4. I file oggetto messi insieme creeranno l'eseguibile esempio finale

Durante la prima fase (precompilatore Pro*c), viene effettuata una connessione al server ORACLE per validare le query SQL del codice Pro*C.[1] Le altre fasi invece vengono eseguite col seguente comando: gcc -o esempio esempio.c.[2]

Esempio[modifica | modifica wikitesto]

Tutte le pagine devono cominciare con EXEC SQL e terminare con il ;.[3]

Esempio di codice Pro*C:

void updateTable() {
EXEC SQL WHENEVER ERROR DO errorTable("Error updating table!");
EXEC SQL WHENEVER NOT FOUND continue;
EXEC SQL UPDATE ma_table SET ma_colonne = 'abc' WHERE id=2 ;
return ;
}

Note[modifica | modifica wikitesto]

  1. ^ Pro*C/C++ Precompiler Programmer's Guide - Introduction, su docs.oracle.com. URL consultato il 22 settembre 2023.
    «(...) the precompiler accepts the source program as input, translates the embedded SQL statements into standard Oracle runtime library calls, and generates a modified source program that you can compile, link, and execute in the usual way.»
  2. ^ Pro C Tutorial - Programming Examples, su programmingexamples.wikidot.com. URL consultato il 22 settembre 2023.
  3. ^ Introduction to Pro*C, su infolab.stanford.edu. URL consultato il 22 settembre 2023.
  Portale Informatica: accedi alle voci di Wikipedia che trattano di informatica