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

適用対象:Azure SQL データベースAzure SQL Managed InstanceAzure Synapse Analytics

このクイックスタートでは、Python を使用して Azure SQL Database、Azure SQL Managed Instance、または Synapse SQL データベースに接続し、T-SQL ステートメントを使用してデータに対してクエリを実行します。

前提条件

このクイック スタートを完了するには、次のものが必要です。

Python と Azure SQL Database のデータベースの詳細については、「Python 用 Azure SQL Database ライブラリ」、pyodbc リポジトリ、および pyodbc のサンプルを参照してください。

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

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

  2. 次のコードを追加します。 「前提条件」セクションから接続情報を入手し、<server>、<database>、<username>、および <password> を実際の値に置き換えてください。

    import pyodbc
    server = '<server>.database.windows.net'
    database = '<database>'
    username = '<username>'
    password = '{<password>}'
    driver= '{ODBC Driver 17 for SQL Server}'
    
    with pyodbc.connect('DRIVER='+driver+';SERVER=tcp:'+server+';PORT=1433;DATABASE='+database+';UID='+username+';PWD='+ password) as conn:
        with conn.cursor() as cursor:
            cursor.execute("SELECT TOP 3 name, collation_name FROM sys.databases")
            row = cursor.fetchone()
            while row:
                print (str(row[0]) + " " + str(row[1]))
                row = cursor.fetchone()
    

コードの実行

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

    python sqltest.py
    
  2. データベースとその照合順序が返されていることを確認し、コマンド ウィンドウを閉じます。

    エラーが発生した場合:

    • 使用しているサーバー名、データベース名、ユーザー名、パスワードが正しいことを確認してください。
    • インストールした ODBC ドライバーが上記のコードの driver 変数と同じバージョンであることを確認します。 たとえば、コードには 17 が示されていますが、別のバージョンがインストールされている可能性があります。
    • ローカル環境からコードを実行している場合、アクセスしようとしている Azure リソースのファイアウォールが、お使いの環境の IP アドレスからのアクセスを許可するように構成されていることを確認してください。

次のステップ