具有一个类的多个数据源(ODBC,OleDB,SQL)

时间:2014-04-07 06:08:58

标签: c# sql database oledb dbconnection

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

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

1 个答案:

答案 0 :(得分:1)

是的,您可以使用DbProviderFactory

在.NET 2.x或更高版本中执行此操作
ConnectionStringSettings c = ConfigurationManager.ConnectionStrings[name];
DbProviderFactory factory = DbProviderFactories.GetFactory(c.ProviderName);
using (IDbConnection connection = factory.CreateConnection())
{
    connection.ConnectionString = c.ConnectionString; 
    ... etc...
}