DBFactory 数据库连接

使用应用程序配置文件存储工厂信息

用于处理工厂的设计模式要求必需在应用程序配置文件(如用于 Windows 应用程序的 app.config 和用于 ASP.NET 应用程序的 web.config)中存储提供程序和连接字符串信息。

下面的配置文件片段演示如何保存两个命名连接字符串:用于连接到 SQL Server 中 Northwind 数据库的“NorthwindSQL”和用于连接到 Access/Jet 中 Northwind 数据库的“NorthwindAccess”。 invariant 名称用于 providerName 属性。

<configuration>
  <connectionStrings>
    <clear/>
    <add name="NorthwindSQL" 
     providerName="System.Data.SqlClient" 
     connectionString=
     "Data Source=MSSQL1;Initial Catalog=Northwind;Integrated Security=true"
    />

    <add name="NorthwindAccess" 
     providerName="System.Data.OleDb" 
     connectionString=
     "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:/Data/Northwind.mdb;"
    />
  </connectionStrings>
</configuration>

按提供程序名称检索连接字符串

若要创建提供程序工厂,必须提供连接字符串和提供程序名称。 此示例演示如何通过以“System.Data.ProviderName”固定格式传递提供程序名称来从应用程序配置文件中检索连接字符串。 代码循环访问 ConnectionStringSettingsCollection。 成功时代码返回 ProviderName;否则返回 null(在 Visual Basic 中为 Nothing)。 如果提供程序有多项,则返回找到的第一项。 有关从配置文件中检索连接字符串的更多信息和示例,请参见连接字符串和配置文件 (ADO.NET)

 

// Given a provider name and connection string, 
// create the DbProviderFactory and DbConnection.
// Returns a DbConnection on success; null on failure.
static DbConnection CreateDbConnection(
    string providerName, string connectionString)
{
    // Assume failure.
    DbConnection connection = null;

    // Create the DbProviderFactory and DbConnection.
    if (connectionString != null)
    {
        try
        {
            DbProviderFactory factory =
                DbProviderFactories.GetFactory(providerName);

            connection = factory.CreateConnection();
            connection.ConnectionString = connectionString;
        }
        catch (Exception ex)
        {
            // Set the connection to null if it was created.
            if (connection != null)
            {
                connection = null;
            }
            Console.WriteLine(ex.Message);
        }
    }
    // Return the connection.
    return connection;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值