Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2005
    Messaggi
    492

    [VB6] Adodc troppo lento

    Salve, ho delle form con 7 adodc che vengono caricate ogni volta e pertanto la form, in fase di Load è estremamente lenta. Mi è stato detto che se invece di usare l'adodc, scrivessi io l'accesso e la navigazione ai dati sul DB, la cosa sarebbe molto + veloce.
    Qualcuno saprebbe consigliarmi ed eventualmente darmi qualche suggerimento sul codice?Non so proprio da dove partire

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2005
    Messaggi
    357
    Scusami, senz'altro non ho capito bene,non credo che tu abbia 7 adodc su un form e che li colleghi tutti contemporaneamente.
    Il rallentamento, a prescindere dai 7 adodc, può essere dovuto:
    - dalla mole di record contenuti nelle tue tabelle
    - alle select sui recordset
    - alla connessione con il database (utilizzi oracle?)
    - ai metodi che utilizzi per i collegamenti degli adodc con il database e con i recordset.
    Una prova che puoi fare è seguire in debug il programma e vedere in quale punto rallenta, provando, se possibile, a migliorare il codice.

    Si possono,logicamente, togliere gli adodc e gestire i campi del form.
    Per fare questo devi:
    -connetterti al database
    -fare una open sul recordset
    -riempire i campi del form
    ...insomma quello che fa l'adodc lo devi gestire tu. Capisci che è un po' difficile aiutarti senza sapere come è strutturato il programma.

    Ti posso elencare siti italiani con tanti sorgenti di esempio
    http://www.maurorossi.net/
    http://www.it-lang-vb.net/home.asp
    (in archivio/sorgenti)
    http://www.visual-basic.it/areadownload.asp
    http://www.redangel.it/vb/
    Ciao

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2005
    Messaggi
    492
    Si, ne ho sette, in quanto sul form principale attraverso sette comboBox collegate a sette adodc di 7 tabelle, mi permettono di selezionare determinati valori.
    Al momento il db è vuoto, sto solo facendo inserimenti di prova. E' anche vero che i file che vado a salvare sono immagini, ma non + di 1mb, e poi proprio nella fase di copia non è lento, lo è solo quando apro la form.
    Uso Oracle9i e la mia stringa di connessione posta nella adodc è Provider=OraOLEDB.Oracle.1;Password=AAA;Persist Security Info=True;User ID=AAA;Data Source=AAA;

    Ho provato a fare anche il debug, ma non impiega molto tempo,non sembra rallentarsi su niente....


    non so nenache io cosa possa essere

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2005
    Messaggi
    357
    Quello che eventualmente puoi provare è di togliere le connessioni ed i recordsource dalle proprietà dell'oggeto adodc e di gestirle a programma.
    Potresti aprire una sola connessione su un oggetto adodc ed utilizzarla anche per gli altri controlli in questo modo:

    codice:
    Adodc1.ConnectionString = "Provider=OraOLEDB.Oracle.1;Password=AAA;Persist Security Info=True;User ID=AAA;Data Source=AAA" 
    Adodc1.RecordSource = "Select * from tabella"
    Adodc1.Refresh
    Adodc2.ConnectionString = Adodc1.Recordset.ActiveConnection
    Adodc2.RecordSource = "select * from tabella1"
    Adodc2.Refresh
    Adodc3.ConnectionString = Adodc1.Recordset.ActiveConnection
    Adodc3.RecordSource = "select * from tabella2"
    Adodc3.Refresh
    Questa prova l'ho fatta ed il tempo più lungo è quello del refresh

    Io nelle connessioni per database Oracle, come provider utilizzo quello di Microsoft, non ho mai usato quello di Oracle
    "Provider=MSDAORA.1;Password=" & pass & ";User ID=" & utente & ";Data Source=" & DS & ";Persist Security Info=True"

    Ciao

  5. #5
    Utente di HTML.it
    Registrato dal
    Nov 2005
    Messaggi
    492
    Infatti pensavo anche io alla stessa cosa.
    Però ieri sera ho fatto questa prova, ho eliminato tutti gli adodc dal mio form (non avendo così combobox collegate ad altri adodc per selezionare valori di altre tabelle) e notavo che cmq la form era lenta a caricare... e la cosa mi fa pensare che il problema non sta negli adodc

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.