Microsoft SQL Server 客户端编程的主页
欢迎访问与 Microsoft SQL Server 和云中的 Azure SQL 数据库进行交互的客户端编程的主页。 本文提供了以下信息:
- 列出并介绍了可用的语言和驱动程序组合。
- 介绍了操作系统 Linux(Ubuntu 及其他)、macOS 和 Windows。
- 收录了每个组合的详细文档的链接。
- 适当时,显示某些语言的分层文档的区域和子区域。
Azure SQL Database
在任何给定语言中,用于连接到 SQL Server 和 Azure SQL 数据库的代码几乎完全相同。
若要详细了解用于连接到 Azure SQL 数据库的连接字符串,请参阅:
- 使用 .NET Core (C#) 查询 Azure SQL 数据库。
- 目录中前一篇文章附近关于其他语言的其他 Azure SQL 数据库文章。 例如,请参阅使用 PHP 查询 Azure SQL 数据库。
用于客户端程序的语言和驱动程序
下表中的每个语言图像都是一个链接,可便于详细了解如何结合使用相应语言与 SQL Server。 每个链接都可跳转到本文稍后将介绍的部分。
下载和安装
下面的文章专门介绍如何下载和安装各种 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 SQL 或 LINQ 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。