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 数据库示例。 |
生成应用程序:C#、ADO.NET、Windows | 配置信息和代码示例。 |
文档
区域 | 说明 |
---|---|
使用 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 数据库示例。 |
创建在 Ubuntu 上使用 SQL Server 的 Java 应用程序 | 配置信息和代码示例。 |
文档
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 数据库的示例。 |
创建在 macOS 上使用 SQL Server 的 Node.js 应用程序 | 配置信息和代码示例。 |
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 数据库示例。 |
创建在 RHEL 上使用 SQL Server 的 PHP 应用程序 | 配置信息和代码示例。 |
Python
可以使用 Python 与 SQL Server 进行交互。
代码示例
示例 | 描述 |
---|---|
使用 pyodbc Python 连接到 SQL 的概念证明 | 专注于如何连接和查询 SQL Server 的小型代码示例。 |
Azure SQL 数据库:使用 Python 进行查询 | Azure SQL 数据库示例。 |
创建在 SLES 上使用 SQL Server 的 PHP 应用程序 | 配置信息和代码示例。 |
文档
区域 | 说明 |
---|---|
使用 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 数据库示例。 |
创建在 macOS 上使用 SQL Server 的 Ruby 应用程序 | 配置信息和代码示例。 |
用于 SQL 客户端开发的“生成应用程序”网站
在“生成应用程序” 网页上,可以从用于连接到 SQL Server 的编程语言长列表中进行选择。 客户端程序可以在各种操作系统上运行。
“生成应用程序” 着重为刚开始接触的开发人员提供了简单、完整的体验。 这些步骤解释了以下任务:
- 如何安装 Microsoft SQL Server
- 如何下载并安装工具和驱动程序。
- 如何根据选定操作系统进行任何必要的配置。
- 如何编译提供的源代码。
- 如何运行该程序。
下面是网站上的详细信息的一些大纲式要点:
Ubuntu 上的 Java
- 设置你的环境
- 安装 SQL Server
- 安装 Java
- 安装 Java 开发工具包 (JDK)
- 安装 Maven
- 创建使用 SQL Server 的 Java 应用程序
- 创建连接到 SQL Server 并执行查询的 Java 应用程序
- 使用热门框架 Hibernate 创建连接到 SQL Server 的 Java 应用程序
- 让 Java 应用程序的速度提高 100 倍
- 创建用于展示列存储索引的 Java 应用程序
Windows 上的 Python
- 设置你的环境
- 安装 SQL Server
- 安装 Python
- 安装用于 SQL Server 的 ODBC 驱动程序和 SQL 命令行实用工具
- 创建使用 SQL Server 的 Python 应用程序
- 安装 Python Driver for SQL Server
- 创建应用程序的数据库
- 创建连接到 SQL Server 并执行查询的 Python 应用程序
- 让 Python 应用程序的速度提高 100 倍
- 使用 sqlcmd 创建包含 500 万条数据的新表
- 创建查询此表并度量耗时的 Python 应用程序
- 度量查询运行时长
- 向表中添加列存储索引
- 度量使用列存储索引运行查询所需的时长
下面的屏幕截图展示了 SQL 开发文档网站的外观。
选择语言
选择操作系统
其他开发
本部分收录了其他开发选项的链接。 其中包括通常在 Azure 开发中使用这些相同的语言。 这些信息不仅仅针对 Azure SQL 数据库和 Microsoft SQL Server。
适用于 Azure 的开发人员中心
- 适用于 Azure 的开发人员中心
- 面向 .NET 开发人员的 Azure
- 面向 Java 开发人员的 Azure
- 面向 Node.js 开发人员的 Azure
- 面向 Python 开发人员的 Azure
- 在 Azure 中创建 PHP Web 应用