c# - 一个类支持多个数据源(ODBC、OleDB、SQL)

标签 c# sql database oledb dbconnection

我希望能够使用相同的代码从多个数据源获取数据。在我的程序中,我获得了不同数据源(可能是 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/

相关文章:

sql - 在批量插入期间删除/重建索引

database - 在 PostgreSQL 中使用 pg_notify(text, text) 收听/通知

c# - DataAdapter.Update() 性能

c# - 0xC0020001 : The string binding is invalid. - 仅发生在 WPF 中

c# - 这个 LINQ 查询有什么问题?

c# - 保存 OpenXML 文档时操作共享字符串表

sql - 如何格式化 SQL 插入以对齐逗号分隔符?

mysql - 内部加入 php redbeans

mysql - 数据库关系(MySQL Workbench)

mysql - 将其他字段添加到 IF 语句中的字符串