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.