Newsgroup: it.comp.lang.visual-basic
Titolo: DAO/ADO/ecc.....contnua...

Buongiorno a tutti,
qualche tempo fa ho scritto a questo NG riguardo i problemi che ho
incontrato nell'accesso ai dati AS/400 tramite VB6. Le ricerche sono
ancora in corso.
Poichè alcuni utenti si erano interessati al tema, invio un resoconto
dello stato attuale della situazione.
Come sempre, critiche, suggerimenti ed opinioni sono più che
benaccettati...
Ciao e buon lavoro.Francesco Marcolini
Dovendo iniziare a sviluppare applicazioni Client/Server in ambiente
Visual basic+AS/400 sto testando tutte le varie soluzioni possibili di
cui sono attualmente a coscienza, principalmente ADO visto che, a
quanto sembra, sarà il futuro.
Dopo aver letto tutta la documentazione a mia disposizione, newsgroups,
siti Internet, e soprattutto molte e molte ore di prove sul campo, mi
ritrovo al punto di non essere soddisfatto di nessuna di loro ad
esclusione del tanto diffamato DAO+Jet+Access+ODBC.
Dovendo scrivere principalmente delle applicazioni client di fornt-end
(tralasciando le elaborazioni bacth ad appositi "motori" Cobol
richiamati su AS/400), ho assoluto bisogno di una soluzione che mi
permetta, a grandi linee, di effettuare scroll di tabelle/view, SELECT,
presentare i dati su una maschera ed effettuare gli aggiornamenti più
comuni (un classico esempio può essere la gestione di un’anagrafica
articoli o l’inserimento di testate e dettagli di fatture), il tutto
con dei tempi di risposta accettabili (per spiegarsi, se richiamo
l’elenco degli articoli non posso stare a guardare la clessidra per
1minuto!).
Ho riassunto tutti i miei test nei punti seguenti e premetto fin d’ora
che l’unica soluzione utilizzabile per me ad oggi è la A1. Aggiungo
inoltre che, essendomi bloccato già nella gestione della lettura del
DataBase, non ho approfondito tutti gli aspetti che riguardano gli
aggiornamenti e le chiamate di programmi su AS/400.
Ma poiché sono alle "prime armi" con l’ambiente Client/Server, gradirei
molto i consigli/critiche di qualcuno che abbia già avuto a che fare
con questi problemi e, in un modo o nell’altro, li ha già
risolti.Necessità:
----------1. Gestione del "Recordset" inteso come:a. file fisicob.
vista logica
c. SELECT...2. Operazioni sul "Recordset":a. Open/Close
b. Spostamenti Avanti/Indietro/Inizio/Fine
c. Posizionamento su un record per chiave
d. Aggiunta/Modifica/Delete di un nuovo record3. Visualizzazione del
recorset
a. scroll del "Recordset" tramite DBGrid o DataGrid (con o
senzacontrollo Data)
b. visualizzazione dei dati tramite TextBox & C.
4. Chiamate a programmi Cobol residenti su AS/400
a. con passaggio di parametri in entrambi i sensi5. Prestazioni:
a. almeno accettabili con tabelle dell'ordine dei 200.000 records
Soluzioni sperimentate:-----------------------
A1. DAO: Access + tabelle allegate via ODBC + controllo Data + DBGrid
= problemi con la 2.g. (Posizionamento su un record per chiave);
= devo appoggiarmi per forza ad un data base Access97
= DAO non verrà supportato in futuro
B1. DAO: ODBCDirect + controllo Data + Cursore Defalult + DBGrid
B2. DAO: ODBCDirect + controllo Data + Cursore Server + DBGrid
B3. DAO: ODBCDirect + controllo Data + Cursore ODBC + DBGrid
= problemi con la 3.a. (scroll del "Recordset" tramite DBGrid
oDataGrid),
la griglia rimane vuota o lo scroll è inutilizzabile per la lentezza o
prima di visualizzare i records carica tutto il recordset;
= problemi con la 2.b. (Spostamenti Avanti/Indietro/Inizio/Fine),
incerti
casi non mi permette lo spostamento indietro
C1. ADO: DataEnvironment + Connection via ODBC + Command + Cursori
latoclient
C2. ADO: DataEnvironment + Connection via ODBC + Command + Cursori lato
Server + (Dynaset/ Keyset/...)
C3. ADO: come i punti D/E + settaggio della .Properties
("IRowsetIdentity")=True
= più o meno gli stessi problemi delle B1/B2/B3
D1. ADO: tutti i casi C/D/E/F tramite ADODB.Connection e
ADODB.Recordset impostati via codice
= più o meno gli stessi problemi delle B1/B2/B3
E1. ADO: ADODB.Connection e ADODB.Recordset impostati via codice + OLEDB
= problemi con la 1.C. (SELECT...)
= problemi con la 2.C. (Posizionamento su un record per chiave) se usato
con sulle viste logiche
= problemi con la 3.a. (scroll del "Recordset" tramite DBGrid
oDataGrid),
la griglia rimane vuota o lo scroll è inutilizzabile per la lentezza o
prima di visualizzare i records carica tutto il recordset;
I driver utilizzati sono:-------------------------
per ODBC: Client Access vers. 3.1.2per OLEDB: SNA Server vers.
4.0.0.500--
Francesco Marcolini...@stock-spa.itSent via Deja.com
http://www.deja.com/
Share what you know. Learn what you don't.
Sent via Deja.com 
http://www.deja.com/
Share what you know. Learn what you don't.

Nella lettura del tuo messaggio sono riuscito a seguirti fino ad un certo
punto e comunque ho dei suggerimenti sicuramente per alcune cose:
Se hai AS/400 ed hai l'ultima versione del Client Access, sul CD ci sono le
ADO scritte da IBM ADO400 che ti consentono di puntare direttamente ai file
AS/400 sia fisici che logici, sul file fisico è consentito il movimento
movenext ecc., sul file logico inspiegabilmente, no! si può leggere con una
seek ...GT per muoverti next, i risultati di questa lettura io li gestisco
in un Grid, dopodichè ho tutte le possibilità di lettura/scrittura su AS/400
in maniera molto veloce.
Per quanto riguarda il lancio di pgm o comandi su AS/400 fanno parte del
Client Access alcuni ocx che consentono il "Send Remote Command" cioè come
se scrivessi un comando direttamente su AS/400 anche il CLRPFM!!!
P.S. siccome non leggo tutti i msg la prossima volta nel titolo scrivi anche
AS/400
Facci sapere il seguito...!
Saluti Antonio