C#SQL连接ODBC或OLEDB

C#SQL连接ODBC或OLEDB,c#,.net,sql-server,C#,.net,Sql Server,我支持一个使用ADO.NET进行数据访问的遗留C#应用程序。今天我们的一位客户提出了一个不同的问题 您是否使用OLEDB或ODBC进行数据连接 据我所知,我的代码正在使用此驱动程序中的任何一个,但不确定如何确认。下面是代码示例。我使用的是简单的SQLConnection类,但不确定如何识别底层驱动程序。有人能帮忙吗 System.Data.SqlClient.SqlConnection conn=new System.Data.SqlClient.SqlConnection() conn.O

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

您是否使用OLEDB或ODBC进行数据连接

据我所知,我的代码正在使用此驱动程序中的任何一个,但不确定如何确认。下面是代码示例。我使用的是简单的SQLConnection类,但不确定如何识别底层驱动程序。有人能帮忙吗

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

请检查此Microsoft文档:

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

SQLClient是SQL Server的特定数据提供程序。此外,您还可以查看此链接,进一步了解OLE DB和ODBC及其区别:

有道理,但如果没有OLEDB和ODBC驱动程序,我的应用程序将无法工作。知道为什么会发生这种情况吗?@Jay您的代码既不使用OleDB也不使用ODBC。如果失败,它一定在代码的其他部分。看看你得到的错误,你就会知道它在哪里使用它们。嗨,杰。在这种情况下,请更新您的帖子,并添加您认为重要的信息,以给出一些上下文来理解正在发生的事情:您安装了哪些驱动程序-也许您在安装过程中遵循的步骤,正如@ Alejandro指出的,也许您的问题是一些代码,所以,请提供具体错误以及产生错误的代码行,以便我们可以帮助您。我想知道客户为什么需要知道这一点。客户的答案是否定的。您没有使用OLDB或ODBC
SqlClient
是另一个驱动程序(托管),不使用这两个驱动程序中的任何一个。SQL Server的.NET Framework数据提供程序(SqlClient)使用自己的协议与SQL Server通信。它是轻量级的,性能良好,因为它经过优化,可以直接访问SQL Server,而无需添加OLE DB或开放数据库连接(ODBC)层。