c# - SQL 数据读取器 SQL Server 核心实现

标签 c# c++ sql-server algorithm performance

当我学习 System.Data 的核心时,我尝试阅读 MSDN核心实现代码。

以同样的方式我可以调用一些低级系统 dll (win32) 来读取硬盘驱动器 信息我试图通过上面的 MSDN 链接测试和学习系统数据 SQL,因为我试图分解它我找不到入口点。 我的问题是:

连接到 SQL SERVER 并返回一些数据所需的最少代码是多少?

*使用 c# preferredc++(如果开销明显减少)

编辑: 仅使用 System.Data SqlDataReader 中的某些部分,而不是整个类。

最佳答案

System.Data.SqlClient(SQL Server 的 .NET 提供程序)是一个低级“DLL”。它使用类似于 ODBC 和 OLEDB 的低级 TDS 协议(protocol)与 SQL Server 通信。不同之处在于 SqlClient 是托管提供程序,而 ODBC 驱动程序和 OLEDB 提供程序是 native (非托管)的。非托管驱动程序/提供程序分别提供调用级接口(interface)和 COM 接口(interface),旨在从非托管 C++ 等 native 代码中使用。

所有这些提供程序/驱动程序都使用低级 TDS 协议(protocol)与 SQL Server 通信。 TDS 协议(protocol)本身并没有直接公开。 System.Data.SqlClient.SqlDataReader 是托管代码的最低级别数据访问,可为 .NET 应用程序提供最高性能。

关于c# - SQL 数据读取器 SQL Server 核心实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33789672/

相关文章:

c# - MonoTorrent 分发软件

c++ - 在没有反射/内省(introspection)的情况下确定 C++ 中的类类型

c# - 以编程方式为数据库中的所有对象生成脚本

C#:内部连接 ​​4 个表 SQL Server

java - SQL 查询生成器实用程序

c# - 如何从方法内部动态更新类的不同字段?

c# - OnCollisionEnter() 在 Unity3D 中不起作用

c++ - Qt on beagle bone black(完全安装而不是交叉编译)

c++ - 如何检索在单独线程上运行的函数的 move 指针?

c# - 将聊天机器人连接到 cosmos db 后出现错误 500