1

我希望能够使用相同的代码从多个数据源获取数据。在我的程序中,我得到了几个用于不同数据源(可能是 ODBC、OLE DB 和 SQL)的连接字符串。

现在我不想为每个数据连接编写单独的代码。我可以知道连接字符串要与哪些类一起使用(例如 OleDbConnection、SqlConnection、OdbcConnection)。显然它们都是 DbConnection 类的继承者。我想知道我是否可以用它来编写一个可以访问它们的类?

4

1 回答 1

1

是的,您可以在 .NET 2.x 或更高版本中使用DbProviderFactory执行此操作:

ConnectionStringSettings c = ConfigurationManager.ConnectionStrings[name];
DbProviderFactory factory = DbProviderFactories.GetFactory(c.ProviderName);
using (IDbConnection connection = factory.CreateConnection())
{
    connection.ConnectionString = c.ConnectionString; 
    ... etc...
}
于 2014-04-07T06:25:26.223 回答