Newsgroup: it.comp.lang.c++
Titolo: Che dite?

Imparare a programmare in C++ per effettuare operazioni su un database del
tipo AS400..è fuori luogo? Nel senso che tale linguaggio di programmazione
non è il piu' adatto per operazioni di quel tipo?

 non č il piu' adatto per operazioni di quel tipo?
Da come la dici, sembra che tu debba imparare l'SQL piuttosto.
-- 
Mat/tia Belletti - Graduate student @ 
cs.unibo.it
ICQ: 33292311    - email: 
mbel...@cs.unibo.it
IRC: RedGlow     - site(s): 
http://mbellett.web.cs.unibo.it/
Jabber: RedGlow  - Linux registered user 299762 @ machine 213003

Significa che sono fuori strada? Nell'elaborazione e/o manipolazione 
dei dati provenienti dal database il C++ non mi puo' aiutare?
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 dei dati provenienti dal database il C++ non mi puo' aiutare?
Difficile dire se sei o meno fuori strada non conoscendo le specifiche
del progetto. Il linguaggio C++ in quanto tale non ha alcun supporto
intriseco per l'accesso a database.  Per valutare se il C++ sia una scelta
appropriata devi porti almeno le seguenti domande:
 - su quale piattaforma dovrà essere sviluppata l'applicazione?
 - esiste un compilatore C++ per tale piattaforma?
 - di che database si tratta?
 - esistono librerie/framework per accedere a questo database 
    che siano utilizzabili con il C++?
Max


Immagino tu stia parlando di DB400 su OS/400 (sistema operativo), perchè su
AS/400 può anche essere installato Unix e quindi anche i database più
diffusi come Oracle o altri.
Se è come ho immaginato non so se ci sono librerie per l'accesso al database
tramite C++.
In ogni caso c'è invece di sicuro la possibilità di accedervi con RPG/4, che
tra l'altro è il linguaggio più usato su OS/400. La IBM fornisce una ottima
e completissima documentazione al riguardo. Considera anche che l'RPG/4 è un
linguaggio nato proprio per la manipolazione dei files e la reportistica in
senso lato.
Ciao,
fabiomdf
--------------------------------
Inviato via 
http://arianna.libero.it/usenet/


Aggiungerei anche che l'RPG/4 è molto più facile da imparare del C++, quindi
saresti in grado di scrivere applicazioni significative molto prima che con
quest'ultimo.


RPG/4...so' di cosa stai parlando ma il mio problema e' riportare i dati in
un ambiente Windows e volevo sapere se in tal ottica C++ o Visual C++
potevano essermi di aiuto ;-)


Beh, in teoria puoi prendere C++ -> ODBC -> driver per AS/400 (che costa 
un occhio) ed il gioco sarebbe fatto; devi solo scegliere una libreria 
adeguata per la gestione dell'ODBC (ti sconsiglio di chiamare 
direttamente le API!).
Non so pero' se sia la soluzione piu' conveniente... ed in ogni caso 
siamo OT!
  bye
	av.


Stiamo andando decisamente OT. Comunque un ultimo reply...
Stai approcciando il problema con poche conoscenze di come funziona un
database server e dal lato sbagliato. Dovresti farti dire
dall'amministratore di sistema (o da un agente IBM) quali librerie e per
quali linguaggi sono esportate dal server, o da un programma client
(probabilmente proprietario per il quale devi avere la licenza), per spedire
queries e ricevere dati di ritorno dal server.
Solo quando ti sarà chiaro che strumenti esso ti mette a disposizione potrai
scegliere il linguaggio che preferisci per connetterti ed operare.
Ad esempio un database di nome PostgreSQL ha una libreria che si chiama
libpq++ che esporta le API che permettono connessione, ricerche, inserimento
eccetera da parte di un programma C++. Ma ha anche altre librerie per Ada,
Tcl, Perl ed altri linguaggi ancora.
Quindi devi ottenere queste informazioni anche per DB/400, dopo scegli il
linguaggio che tra quelli disponibili preferisci e conosci e poi ancora ti
studi i manuali della suddetta eventuale libreria
Ciao,


 queries e ricevere dati di ritorno dal server.
Quoto.
E aggiungo come ti ha detto fabiomdf su AS400 il modo più veloce di fare
programmi per leggere/scrivere dati su DB2/400 è usare RPG (ma a me non
piace, preferisco java).
Poi se vuoi fare un programma su Windows o Linux per accedere a quei dati su
AS400 ti serve una libreria client per quel sistema operativo (ce ne sono
sia di IBM che di terze parti).
Per esempio potresti usare DB2 Connect o la CAL (Client Access Library)
http://www-1.ibm.com/servers/eserver/iseries/access/calib.htm
e relativo driver ODBC.
Se usi il client di DB2/400 e C++ per fare il programma, ti consiglio di
usare una libreria C++ per l'accesso ai dati che si appoggia a quel client e
non fare chiamate dirette all'API del client (di solito in C).
Potresti usare qualcosa tipo 
http://www.sqlapi.com/
 o se esiste qualcosa di
open source (che magari usa ODBC).
Esistono poi librerie di terze parti praticamente per tutti i linguaggi
conosciuti (C, C++, C#, VB.Net, Java, Delphi, COM ... vedi per esempio
http://www.systemobjects.com/HomeDelphi400.html
).
-- 
Jarod