首页 新闻 会员 周边 捐助

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

0
[待解决问题]

SQL Server 连接信息

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

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

    server-name

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

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

  6. 查看完整的 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 的内容替换为以下代码,为服务器、数据库、用户和密码添加相应的值。

  3. 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 行,然后关闭应用程序窗口

资料参考

Cbits的主页 Cbits | 菜鸟二级 | 园豆:202
提问于:2017-08-23 11:37
< >
分享
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册