クイック スタート:Ruby を使用して Azure SQL Database または Azure SQL Managed Instance のデータベースに対してクエリを実行する
適用対象: Azure SQL データベース Azure SQL Managed Instance
このクイックスタートでは、Ruby を使ってデータベースに接続した後、Transact-SQL ステートメントを使ってデータのクエリを実行する方法について説明します。
前提条件
このクイック スタートを完了するには、次の前提条件を用意しておく必要があります。
データベース。 以下のいずれかのクイックスタートを使用すると、データベースを作成し、構成できます。
アクション SQL Database SQL Managed Instance SQL Server on Azure Virtual Machines 作成 ポータル ポータル ポータル CLI CLI PowerShell PowerShell PowerShell 構成 サーバーレベルの IP ファイアウォール規則 VM からの接続 オンプレミスからの接続 SQL Server インスタンスに接続する データの読み込み クイックスタートごとに読み込まれた Wide World Importers Wide World Importers を復元する Wide World Importers を復元する GitHub の BACPAC ファイルから Adventure Works を復元またはインポートする GitHub の BACPAC ファイルから Adventure Works を復元またはインポートする 重要
この記事のスクリプトは、Adventure Works データベースを使用するように記述されています。 SQL Managed Instance の場合は、Adventure Works データベースをインスタンス データベースにインポートするか、Wide World Importers データベースを使用するようにこの記事のスクリプトを修正します。
ご使用のオペレーティング システム用に Ruby および関連ソフトウェアをインストールする方法については、「Ruby 開発用の開発環境を構成する」を参照してください。
サーバーの接続情報を取得する
Azure SQL Database のデータベースに接続するために必要な情報を取得します。 後の手順で、完全修飾サーバー名またはホスト名、データベース名、サインイン情報が必要になります。
Azure portal にサインインします。
[SQL データベース] か [SQL Managed Instance] ページに移動します。
[概要] ページで、Azure SQL Database 内のデータベースの [サーバー名] の横にある完全修飾サーバー名、または Azure SQL Managed Instance または SQL Server on Virtual Machines の [ホスト] の横にある完全修飾サーバー名 (または IP アドレス) を確認します。 サーバー名またはホスト名をコピーするには、名前をポイントして [コピー] アイコンを選択します。
Note
Azure Virtual Machines 上の SQL Server の接続情報については、SQL Server インスタンスへの接続に関するページをご覧ください。
Azure SQL Database のデータベースに対してクエリを実行するコードを作成する
任意のテキストまたはコード エディターで新しいファイル (sqltest.rb) を作成します。
次のコードを追加します。
<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
この記事の Transact-SQL コード サンプルは
AdventureWorks2022
またはAdventureWorksDW2022
サンプル データベースを使用します。このサンプル データベースは、Microsoft SQL Server サンプルとコミュニティ プロジェクトのホーム ページからダウンロードできます。
コードの実行
コマンド プロンプトで、次のコマンドを実行します。
ruby sqltest.rb
データベースの上位 20 のカテゴリ/製品行が返されていることを確認します。