Microsoft SQL Server 客户端编程的主页

欢迎访问与 Microsoft SQL Server 和云中的 Azure SQL 数据库进行交互的客户端编程的主页。 本文提供了以下信息:

  • 列出并介绍了可用的语言和驱动程序组合。
    • 介绍了操作系统 Linux(Ubuntu 及其他)、macOS 和 Windows。
  • 收录了每个组合的详细文档的链接。
  • 适当时,显示某些语言的分层文档的区域和子区域。

Azure SQL Database

在任何给定语言中,用于连接到 SQL Server 和 Azure SQL 数据库的代码几乎完全相同。

若要详细了解用于连接到 Azure SQL 数据库的连接字符串,请参阅:

用于客户端程序的语言和驱动程序

下表中的每个语言图像都是一个链接,可便于详细了解如何结合使用相应语言与 SQL Server。 每个链接都可跳转到本文稍后将介绍的部分。

C-sharp logo

Node.js logo

Python logo

Entity Framework logo

C++ logo

Ruby logo

Java logo

PHP logo

下载和安装

下面的文章专门介绍如何下载和安装各种 SQL 连接驱动程序,以供编程语言使用:

使用 ADO.NET 的 C#

.NET 托管语言(如 C# 和 Visual Basic)最常使用 ADO.NET。 ADO.NET 是 .NET Framework 类子集的临时名称。

代码示例

示例 描述
使用 ADO.NET 连接到 SQL 的概念证明 专注于如何连接和查询 SQL Server 的小型代码示例。
使用 ADO.NET 实现对 SQL 的弹性连接 代码示例中的重试逻辑,因为连接有时可能会断开。

重试逻辑非常适用于通过 Internet 维持连接到任何云数据库(如 Azure SQL 数据库)的连接。
Azure SQL 数据库:展示了如何在 Windows/Linux/macOS 上使用 .NET Core 创建 C# 程序并进行连接和查询 Azure SQL 数据库示例。

文档

区域 说明
使用 ADO.NET 的 C# 文档的根目录。
命名空间:System.Data 用于 ADO.NET 的类集。
命名空间:Microsoft.Data.SqlClient 用于 Microsoft .NET Data Provider for SQL Server 的类集

使用实体框架的 C#

Entity Framework (EF) 提供对象关系映射 (ORM)。 通过 ORM,面向对象的编程 (OOP) 源代码可以更轻松地操作从关系 SQL 数据库中检索到的数据。

EF 与以下技术有直接或间接关系:

  • .NET Framework
  • LINQ to SQLLINQ to Entities
  • 语言语法增强功能,如 C# 中的 => 运算符。
  • 为映射到 SQL 数据库中表的类生成源代码的便捷程序。 例如,EdmGen.exe

原始实体框架和新实体框架

Entity Framework 的入门页介绍了 EF,说明如下所示:

  • Entity Framework 是一种对象关系映射程序 (O/RM),可方便 .NET 开发人员使用 .NET 对象处理数据库。 开发人员无需再像往常一样编写大部分数据访问源代码。

Entity Framework 是由两个单独的源代码分支共用的名称。 一个 EF 分支较旧,它的源代码现在采用公共维护。 另一个 EF 分支是新的。 下面介绍了这两个 EF 分支:

版本 说明
EF 6.x Microsoft 第一次发布 EF 是在 2008 年 8 月。 2015 年 3 月,Microsoft 宣布了 EF 6.x 是 Microsoft 开发的最终版本。 Microsoft 将源代码发布到了公共域。

EF 最初属于 .NET Framework。 但后来,EF 6.x 从 .NET Framework 中脱离。

GitHub 存储库 aspnet/EntityFramework6 中的 EF 6.x 源代码
EF Core 2016 年 6 月,Microsoft 发布了新开发的 EF Core。 EF Core 旨在提升灵活性和可移植性。 可运行 EF Core 的操作系统不止 Microsoft Windows。 EF Core 可以与之交互的数据库不止 Microsoft SQL Server 和其他关系数据库。

C# 代码示例:
Entity Framework Core 入门
开始对现有数据库使用 .NET Framework 上的 EF Core

EF 及其相关技术非常强大,对于想要掌握整个领域的开发人员来说,有很多东西需要学习。

Java 和 JDBC

Microsoft 提供了 Java Database Connectivity (JDBC) 驱动程序,可用于 SQL Server(或 Azure SQL 数据库)。 它是 Type 4 JDBC 驱动程序,通过标准 JDBC 应用程序编程接口 (API) 提供数据库连接。

代码示例

示例 描述
代码示例 介绍数据类型、结果集和大型数据的代码示例。
连接 URL 示例 介绍了如何使用连接 URL 连接到 SQL Server。 然后介绍了如何使用 SQL 语句来检索数据。
数据源示例 介绍了如何使用数据源连接到 SQL Server。 然后介绍了如何使用存储过程来检索数据。
使用 Java 查询 Azure SQL 数据库 Azure SQL 数据库示例。

文档

JDBC 文档包括以下主要方面:

领域 说明
Java Database Connectivity (JDBC) JDBC 文档的根目录。
参考 接口、类和成员。
JDBC SQL 驱动程序编程指南 配置信息和代码示例。

Node.js

利用 Node.js,可以从 Windows、Linux 或 macOS 连接到 SQL Server。 Node.js 文档的根目录位于此处

用于 SQL Server 的 Node.js 连接驱动程序是用 JavaScript 实现的。 此驱动程序使用 TDS 协议,所有新式版 SQL Server 都支持这种协议。 此驱动程序是 GitHub 上的开放源代码项目。

代码示例

示例 描述
使用 Node.js 连接到 SQL 的概念证明 用于连接到 SQL Server 和执行查询的基本功能源代码。
Azure SQL 数据库:使用 Node.js 进行查询 云中的 Azure SQL 数据库的示例。

ODBC for C++

开放式数据库连接 (ODBC) 是在 20 世纪 90 年代开发的,比 .NET Framework 更早。 ODBC 旨在独立于任何特定数据库系统和操作系统。

多年来,Microsoft 内外的团队已经创建和发布了许多 ODBC 驱动程序。 驱动程序的范围涉及几种客户端编程语言。 数据目标列表远不止包含 SQL Server。

其他一些连接驱动程序在内部使用 ODBC。

代码示例

文档大纲

本部分中的 ODBC 内容重点介绍了如何从 C++ 访问 SQL Server 或 Azure SQL 数据库。 下表列出了主要 ODBC 文档的大纲。

区域 子区域 说明
ODBC for C++ 文档的根目录。
Linux-macOS 介绍了如何在 Linux 或 macOS 操作系统上使用 ODBC。
Windows 介绍了在 Windows 操作系统上使用 ODBC。
管理 用于管理 ODBC 数据源的管理工具。
Microsoft Microsoft 创建和提供的各种 ODBC 驱动程序。
概念和参考 除了传统参考之外,还介绍了 ODBC 接口的概念性信息。
概念和参考 附录 状态转换表、ODBC 游标库等。
概念和参考 开发应用程序 函数、句柄等。
概念和参考 开发驱动程序 如何开发你自己的 ODBC 驱动程序(如果有特殊化数据源的话)。
概念和参考 安装 ODBC 安装、子项等。
概念和参考 语法 用于安装、安装程序、转换和数据访问的 API。

PHP

可以使用 PHP 与 SQL Server 进行交互。 PHP 文档的根目录位于此处

代码示例

示例 描述
使用 PHP 连接到 SQL 的概念验证 专注于如何连接和查询 SQL Server 的小型代码示例。
使用 PHP 实现对 SQL 的弹性连接 代码示例中的重试逻辑,因为连接是通过 Internet 实现,且云有时可能会断开连接。
Azure SQL 数据库:使用 PHP 进行查询 Azure SQL 数据库示例。

Python

可以使用 Python 与 SQL Server 进行交互。

代码示例

示例 描述
使用 pyodbc Python 连接到 SQL 的概念证明 专注于如何连接和查询 SQL Server 的小型代码示例。
Azure SQL 数据库:使用 Python 进行查询 Azure SQL 数据库示例。

文档

区域 说明
使用 Python 连接到 SQL Server 文档的根目录。
pymssql 驱动程序 Microsoft 不维护或测试 pymssql 驱动程序。

pymssql 连接驱动程序是连接到 SQL 数据库的简单接口,以供在 Python 程序中使用。 pymssql 在 FreeTDS 的基础之上构建,以提供连接到 Microsoft SQL Server 的 Python DB-API (PEP-249) 接口。
pyodbc 驱动程序 pyodbc 连接驱动程序是开放源代码 Python 模块,它简化了访问 ODBC 数据库的过程。 它虽实现了 DB API 2.0 规范,但提供了更多 Pythonic 便利。

Ruby

可以使用 Ruby 与 SQL Server 进行交互。 Ruby 文档的根目录位于此处

代码示例

示例 描述
使用 Ruby 连接到 SQL 的概念证明 专注于如何连接和查询 SQL Server 的小型代码示例。
Azure SQL 数据库:使用 Ruby 进行查询 Azure SQL 数据库示例。

其他开发

本部分收录了其他开发选项的链接。 其中包括通常在 Azure 开发中使用这些相同的语言。 这些信息不仅仅针对 Azure SQL 数据库和 Microsoft SQL Server。

适用于 Azure 的开发人员中心