クイック スタート:.NET Core (C#) を使用して Azure SQL データベースに照会するQuickstart: Use .NET Core (C#) to query an Azure SQL database

このクイック スタートでは、.NET Core と C# コードを使用して、Azure SQL データベースに接続します。In this quickstart, you'll use .NET Core and C# code to connect to an Azure SQL database. その後、Transact-SQL ステートメントを実行して、データの照会を行います。You'll then run a Transact-SQL statement to query data.

前提条件Prerequisites

このチュートリアルには、次のものが必要です。For this tutorial, you need:

注意

このクイック スタートでは、mySampleDatabase データベースを使用します。This quickstart uses the mySampleDatabase database. 別のデータベースを使いたい場合は、データベース参照を変更し、C# コードの SELECT クエリを変更する必要があります。If you want to use a different database, you will need to change the database references and modify the SELECT query in the C# code.

SQL サーバーの接続情報を取得するGet SQL server connection information

Azure SQL データベースに接続するために必要な接続情報を取得します。Get the connection information you need to connect to the Azure SQL database. 後の手順で、完全修飾サーバー名またはホスト名、データベース名、およびログイン情報が必要になります。You'll need the fully qualified server name or host name, database name, and login information for the upcoming procedures.

  1. Azure Portal にサインインします。Sign in to the Azure portal.

  2. [SQL データベース] または [SQL マネージド インスタンス] ページに移動します。Navigate to the SQL databases or SQL managed instances page.

  3. [概要] ページで、単一データベースの場合は [サーバー名] の横の完全修飾サーバー名を確認し、マネージド インスタンスの場合は [ホスト] の横の完全修飾サーバー名を確認します。On the Overview page, review the fully qualified server name next to Server name for a single database or the fully qualified server name next to Host for a managed instance. サーバー名またはホスト名をコピーするには、名前をポイントして [コピー] アイコンを選択します。To copy the server name or host name, hover over it and select the Copy icon.

ADO.NET の接続情報を取得する (省略可能)Get ADO.NET connection information (optional)

  1. mySampleDatabase のページに移動し、[設定][接続文字列] を選択します。Navigate to the mySampleDatabase page and, under Settings, select Connection strings.

  2. 完全な ADO.NET 接続文字列を確認します。Review the complete ADO.NET connection string.

    ADO.NET の接続文字列

  3. 使用する場合は、ADO.NET の接続文字列をコピーします。Copy the ADO.NET connection string if you intend to use it.

新しい .NET Core プロジェクトを作成するCreate a new .NET Core project

  1. コマンド プロンプトを開き、sqltest という名前のフォルダーを作成します。Open a command prompt and create a folder named sqltest. このフォルダーに移動して、次のコマンドを実行します。Navigate to this folder and run this command.

    dotnet new console
    

    このコマンドにより、初期 C# コード ファイル (Program.cs)、XML 構成ファイル (sqltest.csproj)、必要なバイナリなど、新しいアプリ プロジェクト ファイルが作成されます。This command creates new app project files, including an initial C# code file (Program.cs), an XML configuration file (sqltest.csproj), and needed binaries.

  2. テキスト エディターで sqltest.csproj を開き、<Project> タグの間に次の XML を貼り付けます。In a text editor, open sqltest.csproj and paste the following XML between the <Project> tags. この XML により、依存関係として System.Data.SqlClient が追加されます。This XML adds System.Data.SqlClient as a dependency.

    <ItemGroup>
        <PackageReference Include="System.Data.SqlClient" Version="4.6.0" />
    </ItemGroup>
    

SQL Database に照会するコードの挿入Insert code to query SQL database

  1. テキスト エディターで、Program.cs を開きます。In a text editor, open Program.cs.

  2. その内容を次のコードで置き換え、サーバー、データベース、ユーザー名、パスワードに実際の値を追加します。Replace the contents with the following code and add the appropriate values for your server, database, username, and password.

注意

ADO.NET の接続文字列を使用するには、コードでサーバー、データベース、ユーザー名、パスワードを設定している 4 行を、次の行に置き換えます。To use an ADO.NET connection string, replace the 4 lines in the code setting the server, database, username, and password with the line below. 文字列で、ユーザー名とパスワードを設定します。In the string, set your username and password.

builder.ConnectionString="<your_ado_net_connection_string>";

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.windows.net>"; 
                builder.UserID = "<your_username>";            
                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.WriteLine("\nDone. Press enter.");
            Console.ReadLine(); 
        }
    }
}

コードの実行Run the code

  1. プロンプトで、次のコマンドを実行します。At the prompt, run the following commands.

    dotnet restore
    dotnet run
    
  2. 先頭の 20 行が返されることを確認します。Verify that the top 20 rows are returned.

    Query data example:
    =========================================
    
    Road Frames HL Road Frame - Black, 58
    Road Frames HL Road Frame - Red, 58
    Helmets Sport-100 Helmet, Red
    Helmets Sport-100 Helmet, Black
    Socks Mountain Bike Socks, M
    Socks Mountain Bike Socks, L
    Helmets Sport-100 Helmet, Blue
    Caps AWC Logo Cap
    Jerseys Long-Sleeve Logo Jersey, S
    Jerseys Long-Sleeve Logo Jersey, M
    Jerseys Long-Sleeve Logo Jersey, L
    Jerseys Long-Sleeve Logo Jersey, XL
    Road Frames HL Road Frame - Red, 62
    Road Frames HL Road Frame - Red, 44
    Road Frames HL Road Frame - Red, 48
    Road Frames HL Road Frame - Red, 52
    Road Frames HL Road Frame - Red, 56
    Road Frames LL Road Frame - Black, 58
    Road Frames LL Road Frame - Black, 60
    Road Frames LL Road Frame - Black, 62
    
    Done. Press enter.
    
  3. Enter キーを押してアプリケーション ウィンドウを閉じます。Choose Enter to close the application window.

次の手順Next steps