使用 .NET (C#) 和 Visual Studio 连接和查询 Azure SQL 数据库

此快速入门演示如何使用 .NET framework 与 Visual Studio 来创建连接到 Azure SQL 数据库的 C# 程序,并使用 Transact-SQL 语句来查询数据。

先决条件

若要完成本快速入门,请确保符合以下条件:

SQL Server 连接信息

获取连接到 Azure SQL 数据库所需的连接信息。 在后续过程中,将需要完全限定的服务器名称、数据库名称和登录信息。

  1. 登录到 Azure 门户
  2. 从左侧菜单中选择“SQL 数据库”,并单击“SQL 数据库”页上的数据库。
  3. 在数据库的“概览”页上,查看如下图所示的完全限定的服务器名称。 将鼠标悬停在服务器名称上即可打开“通过单击进行复制”选项。

    server-name

  4. 如果忘了服务器的登录信息,请导航到 SQL 数据库服务器页,以查看服务器管理员名称。 如有必要,请重置密码。

适用于 ADO.NET

  1. 单击“显示数据库连接字符串”继续。

  2. 查看完整的 ADO.NET 连接字符串。

    ADO.NET 连接字符串

Important

对于在其上执行本教程操作的计算机,必须为其公共 IP 地址制定防火墙规则。 如果使用其他计算机或其他公共 IP 地址,则使用 Azure 门户创建服务器级防火墙规则

新建 Visual Studio 项目

  1. 在 Visual Studio 中,依次选择“文件”、“新建”、“项目”。
  2. 在“新建项目”对话框中,展开“Visual C#”。
  3. 选择“控制台应用”,然后输入“sqltest”作为项目名称。
  4. 单击“确定”,在 Visual Studio 中创建并打开新项目
  5. 在“解决方案资源管理器”中,右键单击“sqltest”,然后单击“管理 NuGet 包”。
  6. 转到“浏览”,搜索 System.Data.SqlClient,找到后将其选中。
  7. 在“System.Data.SqlClient”页中单击“安装”。
  8. 安装完成后,查看所做的更改,然后单击“确定”以关闭“预览”窗口。
  9. 如果显示“接受许可证”窗口,则单击“我接受”。

插入用于查询 SQL 数据库的代码

  1. 切换到 Program.cs(或者必要时将其打开)

  2. 将 Program.cs 的内容替换为以下代码,为服务器、数据库、用户和密码添加相应的值。

using System;
using System.Data.SqlClient;
using System.Text;

namespace sqltest
{
    class Program
    {
        static void Main(string[] args)
        {
            try 
            { 
                SqlConnectionStringBuilder builder = new SqlConnectionStringBuilder();
                builder.DataSource = "your_server.database.chinacloudapi.cn"; 
                builder.UserID = "your_user";            
                builder.Password = "your_password";     
                builder.InitialCatalog = "your_database";

                using (SqlConnection connection = new SqlConnection(builder.ConnectionString))
                {
                    Console.WriteLine("\nQuery data example:");
                    Console.WriteLine("=========================================\n");

                    connection.Open();       
                    StringBuilder sb = new StringBuilder();
                    sb.Append("SELECT TOP 20 pc.Name as CategoryName, p.name as ProductName ");
                    sb.Append("FROM [SalesLT].[ProductCategory] pc ");
                    sb.Append("JOIN [SalesLT].[Product] p ");
                    sb.Append("ON pc.productcategoryid = p.productcategoryid;");
                    String sql = sb.ToString();

                    using (SqlCommand command = new SqlCommand(sql, connection))
                    {
                        using (SqlDataReader reader = command.ExecuteReader())
                        {
                            while (reader.Read())
                            {
                                Console.WriteLine("{0} {1}", reader.GetString(0), reader.GetString(1));
                            }
                        }
                    }                    
                }
            }
            catch (SqlException e)
            {
                Console.WriteLine(e.ToString());
            }
            Console.ReadLine();
        }
    }
}

运行代码

  1. F5 运行应用程序。
  2. 验证是否已返回前 20 行,然后关闭应用程序窗口。

后续步骤