【问题标题】:How do I detect DbConnection type name from Connection string only如何仅从连接字符串中检测 DbConnection 类型名称
【发布时间】:2021-03-04 08:12:46
【问题描述】:

是否有新的或现有的方法来解析连接字符串的键以确定连接类型(OleDbConnection、OdbcConnection、SqlConnection、MySqlConnection、DB2Connetrion 等)?

它需要使用 .NET Standard 或 .NET Core 或 .NET 5,而不是 .Net Framework。

返回的结果应该是名称字符串或已解析名称的连接类型枚举,而不是实际的 DbConnection。

正在考虑使用 DbConnectionStringBuilder,如果它包含密钥:

  • “提供者”返回“OleDbConnection”。
  • “驱动程序”返回“OdbcConnection”。

这是我需要帮助识别的所有其他连接字符串提供程序。

【问题讨论】:

    标签: .net parsing connection-string dbconnection dbproviderfactories


    【解决方案1】:

    我不知道为什么您需要识别连接字符串对应的提供者。如果要自动猜测要使用哪个提供程序,您可能应该考虑明确提供连接字符串和提供程序。仅根据连接字符串猜测提供者只是:猜测。这不可能是万无一失的解决方案。

    话虽如此,这里有一些指向常见 ADO.NET 提供程序的指针,其中包含在其连接字符串中使用的关键字列表。

    从那里,您可以提取所有关键字并编写一个启发式算法,计算给定连接字符串最可能的提供者。

    【讨论】:

    • 你说得对,这只是一个猜测,但我只是希望有一些可能的方法。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-23
    • 1970-01-01
    相关资源
    最近更新 更多