Salve,
ho riscontrato un problema di locking nell'accesso ad un file dopo che questo è stato aperto ed utilizzato tramite OleDB.
Nel mio progetto leggo il file Excel e, tramite un OleDBAdapter lo collego ad un dataset:
string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;";
strConn += "Data Source=" + fullPath + ";";
strConn += "Extended Properties=\"Excel 8.0;\"";
OleDbConnection odbConn = new OleDbConnection(strConn);
string sql = "SELECT * FROM [Foglio1$]";
OleDbCommand odbCmd = new OleDbCommand(sql, odbConn);
OleDbDataAdapter odbAdapter = new OleDbDataAdapter();
odbAdapter.SelectCommand = odbCmd;
DataSet ds = new DataSet();
odbAdapter.Fill(ds, "XLData");
Poi utilizzo il dataset ed alla fine chiudo tutto:
odbCmd.Dispose();
odbAdapter.Dispose();
odbConn.Close();
odbConn.Dispose();
ds.Dispose();
Fin qui pare tutto bene.
Solo che poi a me servirebbe spostare il file processato in un'altra directory per il backup e proprio sulla MoveTo il programma si inchioda ritornandomi una IOException "Il processo non può accedere al file perché è in uso da un altro processo."
Qualcuno ha idea di come si possa risolvere?
---------------
"chi fa domande rischia di sembrare stupido
chi non ne fa rischia di restare stupido"