相关文章推荐
开朗的茄子  ·  Azure Database for ...·  2 周前    · 
冷静的柳树  ·  如何用Microsoft Visual ...·  2 月前    · 

適用於: Azure SQL 資料庫 Azure SQL 受控執行個體 Azure Synapse Analytics

在本快速入門中,您將使用 .NET 和 C# 程式碼來連線到資料庫。 然後,您將使用 Transact-SQL 陳述式來查詢資料。 本快速入門適用於 Windows、Linux 和 macOS,並運用整合的 .NET 平台。

本免費 Learn 課程模組說明如何 開發和設定可查詢 Azure SQL 資料庫中資料庫的 ASP.NET 應用程式

若要完成本快速入門,您需要:

  • 具有有效訂用帳戶的 Azure 帳戶。 免費建立帳戶

  • 已安裝 適用於您作業系統的 .NET SDK

  • 您可在其中執行查詢的資料庫。

    您可以使用其中一個快速入門,以建立資料庫並加以設定:

    SQL Database SQL 受控執行個體 Azure VM 上的 SQL Server Azure Synapse Analytics
    dotnet new console
    

    此命令會建立新的應用程式專案檔案,包括最初的 C# 程式碼檔案 (Program.cs)、XML 組態檔 (sqltest.csproj),以及所需的二進位檔。

  • 在上方使用的命令提示字元中,執行此命令。

    dotnet add package Microsoft.Data.SqlClient
    

    此命令會將 Microsoft.Data.SqlClient 封裝新增至專案。

    插入程式碼以查詢 Azure SQL 資料庫中的資料庫

  • 在文字編輯器 (如 Visual Studio Code) 中,開啟 Program.cs

  • 使用以下程式碼取代內容,並為您的伺服器、資料庫、使用者名稱和密碼新增適當的值。

    若要使用 ADO.NET 連接字串,請用下面這一行取代程式碼中設定伺服器、資料庫、使用者名稱和密碼的那 4 行。 在字串中設定您的使用者名稱和密碼。

    builder.ConnectionString="<your_ado_net_connection_string>";

    using Microsoft.Data.SqlClient;
    using System;
    using System.Threading.Tasks;
    namespace sqltest
        class Program
            static async Task Main(string[] args)
                var builder = new SqlConnectionStringBuilder
                    DataSource = "<your_server.database.windows.net>",
                    UserID = "<your_username>",
                    Password = "<your_password>",
                    InitialCatalog = "<your_database>"
                var connectionString = builder.ConnectionString;
                    await using var connection = new SqlConnection(connectionString);
                    Console.WriteLine("\nQuery data example:");
                    Console.WriteLine("=========================================\n");
                    await connection.OpenAsync();
                    var sql = "SELECT name, collation_name FROM sys.databases";
                    await using var command = new SqlCommand(sql, connection);
                    await using var reader = await command.ExecuteReaderAsync();
                    while (await reader.ReadAsync())
                        Console.WriteLine("{0} {1}", reader.GetString(0), reader.GetString(1));
                catch (SqlException e) when (e.Number == /* specific error number */)
                    Console.WriteLine($"SQL Error: {e.Message}");
                catch (Exception e)
                    Console.WriteLine(e.ToString());
                Console.WriteLine("\nDone. Press enter.");
                Console.ReadLine();
    

    記得以實際 SQL Server 詳細資料取代 <your_server.database.windows.net><your_username><your_password>、和 <your_database>。 此外,請使用您想要處理的實際 SQL 錯誤號碼取代 /* specific error number */

    執行程式碼

  • 在命令提示字元中,執行以下命令。

    dotnet restore
    dotnet run
    
  • 確認已傳回資料列,您的輸出可能包含其他值。

    Query data example:
    =========================================
    master    SQL_Latin1_General_CP1_CI_AS
    tempdb    SQL_Latin1_General_CP1_CI_AS
    WideWorldImporters    Latin1_General_100_CI_AS
    Done. Press enter.
    
  • 選擇 Enter 關閉應用程式視窗。

  • 教學課程:使用 Visual Studio Code 建立 .NET 主控台應用程式
  • Windows/Linux/macOS 上使用 Azure Data Studio 連線到 Azure SQL 資料庫
  • 使用 .NET 和 SQL 進行開發
  • Visual Studio 中使用 .NET,連線及查詢 Azure SQL 資料庫或 Azure SQL 受控執行個體
  • 使用 SSMS 設計您的第一個資料庫
  • .NET 文件 (部分機器翻譯)
  •