ADO .NET
Negli ultimi tempi mi è capitato spesso di lavorare su applicazioni che utilizzano Oracle come database piuttosto che Sql Server e, naturalmente, ho dovuto utilizzare nello strato di accesso ai dati le classi specifiche di Oracle, meglio note come Oracle Data Provider for .NET. Utilizzare queste classi significa avere a che fare con oggetti tipici di Oracle, es. gli Oracle data type, o i cursori utilizzati per contenere i resultset derivanti da una chiamata ad una store procedure, ecc. Non avendo una esperienza significativa in Oracle ho sempre pensato che il supporto per .NET fosse alquanto limitato e ridotto all'essenziale, es. ...
In ADO .NET 2.0 è possibile programmaticamente ottenere delle informazioni statistiche circa l'uso di una connessione ad un database. Bastano infatti solo 2 righe di codice:
connSQL.StatisticsEnabled = true;
System.Collections.IDictionary statsDict = connSQL.RetrieveStatistics();
per ottenere un dictionary di valori statistici validi nel momento in cui il metodo RetrieveStatistics() è invocato.
Tratto dalla documentazione MSDN, ecco un elenco (parziale) dei valori statistici più interessanti:
NetworkServerTime
Restituisce il tempo cumulativo atteso dal provider prima di ricevere una risposta dal database server, a partire dal momento in cui le statistiche sono abilitate.
PreparedExecs
Restituisce il numero dei comandi precompilati eseguiti, a partire dal momento in cui le statistiche...
E' disponibile per il download la prima CTP (Agosto 2006) di ADO .NET vNext, comprendente l'entity framework che supporta l'Object Relational Mapping, ovvero l'entity data model per effettuare query sulle entità stile sql (LINQ)