クイック スタート:Ruby を使用して Azure SQL Database または Azure SQL Managed Instance のデータベースに対してクエリを実行する

適用対象:Azure SQL データベースAzure SQL Managed Instance

このクイックスタートでは、Ruby を使ってデータベースに接続した後、Transact-SQL ステートメントを使ってデータのクエリを実行する方法について説明します。

前提条件

このクイック スタートを完了するには、次の前提条件を用意しておく必要があります。

サーバーの接続情報を取得する

Azure SQL Database のデータベースに接続するために必要な情報を取得します。 後の手順で、完全修飾サーバー名またはホスト名、データベース名、サインイン情報が必要になります。

  1. Azure portal にサインインします。

  2. [SQL データベース][SQL Managed Instance] ページに移動します。

  3. [概要] ページで、Azure SQL Database 内のデータベースの [サーバー名] の横にある完全修飾サーバー名、または Azure SQL Managed Instance または SQL Server on Virtual Machines の [ホスト] の横にある完全修飾サーバー名 (または IP アドレス) を確認します。 サーバー名またはホスト名をコピーするには、名前をポイントして [コピー] アイコンを選択します。

Note

Azure Virtual Machines 上の SQL Server の接続情報については、SQL Server インスタンスへの接続に関するページをご覧ください。

Azure SQL Database のデータベースに対してクエリを実行するコードを作成する

  1. 任意のテキストまたはコード エディターで新しいファイル (sqltest.rb) を作成します。

  2. 次のコードを追加します。 <server><database><username><password> を Azure SQL Database のデータベースからの値で置き換えます。

    require 'tiny_tds'
    server = '<server>.database.windows.net'
    database = '<database>'
    username = '<username>'
    password = '<password>'
    client = TinyTds::Client.new username: username, password: password,
        host: server, port: 1433, database: database, azure: true
    
    puts "Reading data from table"
    tsql = "SELECT TOP 20 pc.Name as CategoryName, p.name as ProductName
            FROM [SalesLT].[ProductCategory] pc
            JOIN [SalesLT].[Product] p
            ON pc.productcategoryid = p.productcategoryid"
    result = client.execute(tsql)
    result.each do |row|
        puts row
    end
    

    この記事には AdventureWorks2022 サンプル データベースが必要です。このサンプル データベースは、Microsoft SQL Server サンプルとコミュニティ プロジェクトのホーム ページからダウンロードできます。

コードの実行

  1. コマンド プロンプトで、次のコマンドを実行します。

    ruby sqltest.rb
    
  2. データベースの上位 20 のカテゴリ/製品行が返されていることを確認します。

次のステップ