DataSet, Oracle, e le connessioni

di
Anonimizzato6354
il
1 risposte

DataSet, Oracle, e le connessioni

Salve a tutti.
ho un problema con le connessioni di oracle, sul mio progetto in Visual Studio C#

io mi collego al server Oracle, prendo i dati, e riempio un DataSet.
Però, se vado a vedere tra le connessioni attive, sul server Oracle, noto che la connessione non è stata chiusa.
È un bel problema, per l'azienda per cui lavoro, visto che il server non può tenere più di un tot di connessioni aperte contemporaneamente.

Vi mostro il codice:

           String ConnStr = "SERVER=blabla;USER ID=blabla;PWD=blabla";

           OracleConnection myConnection = new OracleConnection(ConnStr);

            string Query1 = "select * from BLABLA";

            OracleDataAdapter adapter = new OracleDataAdapter(Query1, ConnStr);
            DataSet1 Ds = new DataSet1();

            adapter.Fill(Ds, "BLABLA");

            myConnection.Close();
facendo varie prove, ho notato che il codice, funzioa anche se ometto 2 righe

String ConnStr = "SERVER=blabla;USER ID=blabla;PWD=blabla";

   //        OracleConnection myConnection = new OracleConnection(ConnStr);

            string Query1 = "select * from BLABLA";

            OracleDataAdapter adapter = new OracleDataAdapter(Query1, ConnStr);
            DataSet1 Ds = new DataSet1();

            adapter.Fill(Ds, "BLABLA");

    //       myConnection.Close();
perche cmq, l'OracleDataAdapter funziona ugualmente.
Però, quando chiama la funzione adapter.Fill(), inserisce i dati nel DataSet, ma non chiude la connessione con Oracle.

Nel giro di 10 minuti, se tutti i dipendenti usano quel form, mi ritrovo a tappo con le connessioni aperte. L'unica soluzione, è chiudere l'applicazione

--------------------

Tutto questo lo faccio per collegare successivamente il DataSet a un CrystalReport.
Perche anche i report che faccio, non chiudono la connesssione da soli .. e non so come fare.

Allora, girando qua e là per i forum, ho visto che molti suggeriscono appunto di passare al report, tramite codice, un dataset, con dentro i dati da mostrare.
Però, appunto, anche così, la connessione non si chiude.

1 Risposte

  • Re: DataSet, Oracle, e le connessioni

    Ciao

    Premetto che con oracle non ho mai lavorato, però mi collego tramite c# a sqlServer utilizzando il costrutto using
    
    using (OracleConnection connessione = new OracleConnection(sConnessione))
    {
       //
       // Codice
       //
    }
    
    Tale costrutto si occupa di chiudere in automatico la connessione. Infatti non ho mai avuto tali problemi.
    Prova e fammi sapere
Devi accedere o registrarti per scrivere nel forum
1 risposte