Quickstart: Use Ruby to query a database in Azure SQL Database

APPLIES TO: yesAzure SQL Database

This quickstart demonstrates how to use Ruby to connect to a database in Azure SQL Database and query data with Transact-SQL statements.

Prerequisites

To complete this quickstart, you need the following prerequisites:

Get server connection information

Get the connection information you need to connect to a database in Azure SQL Database. You'll need the fully qualified server name or host name, database name, and login information for the upcoming procedures.

  1. Sign in to the Azure portal.

  2. 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 database in Azure SQL Database or the fully qualified server name (or IP address) next to Host for an Azure SQL Managed Instance or SQL Server on Azure VM. To copy the server name or host name, hover over it and select the Copy icon.

Note

For connection information for SQL Server on Azure VM, see Connect to a SQL Server instance.

Create code to query your database in Azure SQL Database

  1. In a text or code editor, create a new file named sqltest.rb.

  2. Add the following code. Substitute the values from your database in Azure SQL Database for <server>, <database>, <username>, and <password>.

    Important

    The code in this example uses the sample AdventureWorksLT data, which you can choose as source when creating your database. If your database has different data, use tables from your own database in the SELECT query.

    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
    

Run the code

  1. At a command prompt, run the following command:

    ruby sqltest.rb
    
  2. Verify that the top 20 Category/Product rows from your database are returned.

Next steps