Blog di Andrea Soldano

"I have a dream ..."
posts - 53, comments - 263, trackbacks - 18

My Links

News








Tag Cloud

Archives

Post Categories

I miei siti

Writing a Data Provider Indipendent application

Dalla versione 2.0 del Framework, Ado.Net è stato arricchito con alcune classi di Factory che permettono la scrittura di un'applicazione "provider indipendent".

Non è più necessario istanziare oggetti castati su un determinato Data Provider. E' possibile utilizzare oggetti generici tipo DBConnection anzichè l'omonio SqlConnection del data provider SqlClient.

I nuovi oggetti generici sono tutti raggruppati sotto il namespace System.Data.Common; ecco alcuni fra questi oggetti:

  • DBConnection,
  • DBTransaction,
  • DBCommand,
  • DBDataAdapter ...

Per istanziare questi oggetti in modo corretto bisogna fare riferimento all'oggettto DBProviderFactory e ai suoi metodi:

  • CreateCommand,
  • CreateConnection,
  • CreateDataAdapter ...

L'istanza dell'oggetto DBProviderFactory viene creata dal metodo GetFactory della classe DBProviderFactories.

Ecco un esempio di codice scritto in VB.NET:

Imports System.Data.Common
Imports System.Configuration 

......

Sub TestConnection

        Dim fact As DbProviderFactory = DbProviderFactories.GetFactory(ConfigurationManager.ConnectionStrings("MyDB").ProviderName)
        Dim con As DbConnection = fact.CreateConnection

        con.ConnectionString = ConfigurationManager.ConnectionStrings("MyDB").ConnectionString
        Using con
            con.Open()
            MessageBox.Show("Connessione aperta!")
        End Using


End Sub

L'esempio sopra riportato fa riferimento alla nuova sezione del file di configurazione "ConnectionStrings", usata per definire le stringhe di connessione dell'applicazione, ecco un'esempio:

 <connectionStrings>
     <add name="MyDB" connectionString="DataSource=localhost; Initial Catalog=TestDB;Integrated Security=true" providerName="System.Data.Sql"/>
 </connectionStrings>

A runtime è possibile leggere le informazioni dalla sezione "ConnectionStrings" del file di configurazione utilizzando l'oggetto ConfigurationManager sotto il namespace System.Configuration (verificate di aver referenziato l'assembly System.Configuration.dll)

ConfigurationManager.ConnectionStrings("Nome").ConnectionString.ToString()

 

Print | posted on giovedì 19 luglio 2007 14:45 | Filed Under [ ADO.NET ]

Comments have been closed on this topic.

Powered by:
Powered By Subtext Powered By ASP.NET