PDA

View Full Version : [C++ e PL/SQL]


progsere
04-04-2006, 10:27
Devo implementare un programma C++ che:
- tutti i giorni ad un'ora prefissata
- deve lanciare una procedura PL/SQL alla quale va passato un parametro: PIPPO(variabile).
Quali sono le istruzioni necessarie fare queste due cose?

Grazie a chiunque vorrà aiutarmi!!!

Ziosilvio
04-04-2006, 11:24
Credo si faccia così.
A intervalli regolari:
- si legge il valore numerico dell'attimo corrente corrente con la funzione time;
- la si converte in una struttura di tipo struct tm che contiene informazioni di tipo giorno, mese, anno ecc.;
- quando l'ora è "quella giusta o giù di lì", si costruisce una stringa che contiene il nome della procedura e il valore dell'argomento, e la si usa come argomento della funzione system.

time e struct tm sono definiti in ctime; system, in cstdlib.

mr_hyde
04-04-2006, 12:31
Io farei solo il programmino che implementa la procedura con parametro.

Per quanto riguarda l'esecuzione ad un'ora prefissata mi affiderei a quello che mette a disposizione il sistema operativo (es: cron negli Unix)

Ciao,
Mr Hyde

shinya
04-04-2006, 13:26
Ma la combinazione C++/PLSQL, non sembra anche a voi un pò come la combinazione pizza/pesche sciroppate? :confused:

mr_hyde
04-04-2006, 13:37
Dipende da cosa intende con questa combinazione: intendera' dire che ingloba parti pre-processate (come diavolo si chiama piu' il preprocessore... ProC? La mia memoria ormai fa pena...) per mettere direttamente statement PL/SQL nel codice C/C++?

Oppure che ha un programma che fa un po' di cose e poi, ad un certo punto, tramite una system richiama uno script esterno?

Ad ogni modo e' abbastanza comune mischiare linguaggi di programmazione / script e qiant'altro...

Altrimenti SWIG (http://www.swig.org) non esisterebbe...

Ciao,
Mr Hyde

shinya
04-04-2006, 14:10
Ma si ma io scherzavo... :)
Intendevo dire che ci sono combinazioni che mi suonano bene, tipo:
C/Lua
Java/Python
Java/Ruby
...

...ma C++/PLSQL...brrrr!! :)

mr_hyde
04-04-2006, 16:07
Brividi? Mah, io tutte le volte che ho avuto a che fare con queste combinazioni, piu' che brividi ho provato altro e ho imparato sempre nuove imprecazioni...

Ciao,
Mr Hyde

progsere
05-04-2006, 17:19
Grazie per l'aiuto.
La mia applicazione, in realtà, deve diventare un batch (salvandola con .bat ??), e questa
- deve partire ad un orario fissato
- deve capire se collegarsi ad SqlServer o Oracle
Queste informazioni, da dove le deve prendere, una volta lanciato il batch ?

Come funziona la schedulazione ? Ha qualcosa a che farci?

Grazie ancora!

mr_hyde
05-04-2006, 22:07
Grazie per l'aiuto.
La mia applicazione, in realtà, deve diventare un batch (salvandola con .bat ??), e questa
- deve partire ad un orario fissato

e per questo ti suggerisco di controllare i meccanismi di schedulazione offerti dal tuo SO...


- deve capire se collegarsi ad SqlServer o Oracle
Queste informazioni, da dove le deve prendere, una volta lanciato il batch ?


Be', immagino che questo dipenda dal sistema dove dovrai installare l'applicazione... Puoi sempre tentare di eseguire un qualche comando per Oracle PL/SQL e se non funziona assumere che su quella macchina non c'e' Oracle e provare con SqlServer...

Il problemino lo avresti se sulla stessa macchina sono installati ENTRAMBI!

Qui pero' lascio la parola agli espertoni di Oracle - PLS/SQL e SqlServer...
Ciao,
Mr Hyde