<system.data> <DbProviderFactories> <add name="Odbc Data Provider" invariant="System.Data.Odbc" description=".Net Framework Data Provider for Odbc" type="System.Data.Odbc.OdbcFactory, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> <add name="OleDb Data Provider" invariant="System.Data.OleDb" description=".Net Framework Data Provider for OleDb" type="System.Data.OleDb.OleDbFactory, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> <add name="OracleClient Data Provider" invariant="System.Data.OracleClient" description=".Net Framework Data Provider for Oracle" type="System.Data.OracleClient.OracleClientFactory, System.Data.OracleClient, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> <add name="SqlClient Data Provider" invariant="System.Data.SqlClient" description=".Net Framework Data Provider for SqlServer" type="System.Data.SqlClient.SqlClientFactory, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> </DbProviderFactories> </system.data>
DbProviderFactory dbProviderFactory = DbProviderFactories.GetFactory(System.Data.SqlClient);
<connectionStrings> <add name="ConnectionStringName" connectionString="Data Source=MonServeur;Initial Catalog=bd;User ID=sa" providerName="System.Data.SqlClient"/> </connectionStrings>
using System; using System.Collections.Generic; using System.Text; using System.Data.Common; using System.Configuration; using System.Data; using System.Collections; using System.Reflection; using System.Transactions; namespace GenericAccess { public class Data { #region Proprits Prives private ConnectionStringSettings connectionStringSettings; private ConnectionStringSettingsCollection connectionStringsCollection; #endregion #region Pattern Singleton private static Data instance; static Data() { instance = new Data(); // Rcupration de toutes les chaines de connexion instance.connectionStringsCollection = ConfigurationManager.ConnectionStrings; } public static Data GetInstance() { return instance; } #endregion } }
System.Data.SqlClient.SqlConnection myConnection = new SqlConnection(ConnectionString)
DbConnection myConnection = dbProviderFactory.CreateConnection(); myConnection.ConnectionString = ConnectionString;
using System; using System.Collections.Generic; using System.Text; using System.Data.Common; using System.Configuration; using System.Data; using System.Collections; using System.Reflection; using System.Transactions; namespace GenericAccess { public class Data { #region Proprits Prives private ConnectionStringSettings connectionStringSettings; private ConnectionStringSettingsCollection connectionStringsCollection; private DbProviderFactory dbProviderFactory; #endregion #region Proprits Publiques public DbProviderFactory DbProviderFactory { get { return dbProviderFactory; } } #endregion #region Pattern Singleton private static Data instance; static Data() { // Rcupration de toutes les chaines de connexion instance.connectionStringsCollection = ConfigurationManager.ConnectionStrings; if (instance.ConnectionStringName == string.Empty) instance.ConnectionStringName = instance.connectionStringsCollection[1].Name; // Rcupration de la classe fabrique suivant le provider instance.dbProviderFactory = DbProviderFactories.GetFactory( instance.connectionStringsCollection[1].ProviderName); } public static Data GetInstance() { return instance; } #endregion } }