我希望能够使用相同的代码从多个数据源获取数据。在我的程序中,我获得了不同数据源(可能是 ODBC、OLE DB 和 SQL)的多个连接字符串。
现在我不想为每个数据连接编写单独的代码。我可以知道连接字符串要与哪些类一起使用(例如 OleDbConnection、SqlConnection、OdbcConnection)。显然它们都是 DbConnection 类的继承者。我想知道我是否可以用它来编写一个类来访问它们?
最佳答案
是的,您可以在 .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...
}
关于c# - 一个类支持多个数据源(ODBC、OleDB、SQL),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22904744/