【问题标题】:C# SQL connection ODBC or OLEDBC# SQL 连接 ODBC 或 OLEDB
【发布时间】:2020-11-06 12:13:44
【问题描述】:

我支持使用 ADO.NET 进行数据访问的旧版 C# 应用程序。今天我们的一位客户提出了一个不同的问题

您是使用 OLEDB 还是 ODBC 进行数据连接?

据我了解,我的代码正在使用此驱动程序的任何人,但不确定如何确认。下面是代码示例。我正在使用简单的 SQLConnection 类,但不确定如何识别底层驱动程序。有人可以帮忙吗?

 System.Data.SqlClient.SqlConnection conn=new System.Data.SqlClient.SqlConnection()
 conn.Open()

【问题讨论】:

  • 我想知道为什么客户需要知道这一点。
  • 对您的客户的回答是否定的。您没有使用 OLDB 或 ODBC。 SqlClient 是不同的驱动程序(托管),不使用其中任何一个。
  • SQL Server 的 .NET Framework 数据提供程序 (SqlClient) 使用自己的协议与 SQL Server 进行通信。它是轻量级的并且性能良好,因为它经过优化可以直接访问 SQL Server,而无需添加 OLE DB 或开放式数据库连接 (ODBC) 层。 docs.microsoft.com/en-us/dotnet/framework/data/adonet/…

标签: c# .net sql-server


【解决方案1】:

请查看此 Microsoft 文档: https://docs.microsoft.com/en-us/dotnet/framework/data/adonet/ado-net-code-examples

如您所见,您使用的是 SQLCLient,而不是 OleDb 或 ODBC。

SQLClient 是 SQL Server 的特定数据提供程序。此外,您可以查看此链接以了解有关 OLE DB 和 ODBC 及其差异的更多信息: what is the difference between OLE DB and ODBC data sources?

【讨论】:

  • 有道理,但我的应用程序在没有 OLEDB 和 ODBC 驱动程序的情况下无法工作。知道为什么会这样吗?
  • @Jay 您的代码既不使用 OleDB 也不使用 ODBC。如果失败,它必须在代码的其他部分。看看你得到的错误,你就会知道它在哪里使用它们。
  • 嗨,杰。在这种情况下,请更新您的帖子,并添加您认为重要的信息,以提供一些上下文以了解正在发生的事情:您安装了哪些驱动程序 - 可能是您在安装过程中遵循的步骤 - 并且正如 @Alejandro 指出的那样,也许您有问题是一段代码,所以,请提供具体错误和产生错误的代码行,以便我们为您提供帮助。
猜你喜欢
  • 2011-07-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多