クイックスタート: Python を使用して Azure SQL データベースまたは Azure SQL Managed Instance のデータベースにクエリの実行
適用対象: Azure SQL データベース Azure SQL Managed Instance Azure Synapse Analytics
このクイックスタートでは、Python を使用して Azure SQL Database、Azure SQL Managed Instance、または Synapse SQL データベースに接続し、T-SQL ステートメントを使用してデータに対してクエリを実行します。
前提条件
このクイック スタートを完了するには、次のものが必要です。
アクティブなサブスクリプションが含まれる Azure アカウント。 無料でアカウントを作成できます。
クエリを実行するデータベース。
次のいずれかのクイックスタートを使用して、データベースを作成し、構成できます。
アクション SQL Database SQL Managed Instance Azure VM 上の SQL Server Azure Synapse Analytics 作成 ポータル ポータル ポータル ポータル CLI CLI PowerShell PowerShell PowerShell PowerShell デプロイ テンプレート デプロイ テンプレート デプロイ テンプレート デプロイ テンプレート 構成 サーバーレベルの IP ファイアウォール規則 VM からの接続 接続の設定 オンプレミスからの接続 SQL Server インスタンスに接続する 接続情報の取得 Azure SQL Azure SQL SQL VM Synapse SQL Python 3 および関連するソフトウェア
操作 macOS Linux Windows ODBC ドライバー、sqlcmd、SQL Server 用 Python ドライバーをインストールする pyodbc Python 開発用に環境を構成します pyodbc Python 開発用に環境を構成します pyodbc Python 開発用に環境を構成します。 Python とその他の必要なパッケージをインストールする sudo apt-get install python python-pip gcc g++ build-essential
を使用してください。詳細情報 macOS の Microsoft ODBC ドライバー Linux の Microsoft ODBC ドライバー Windows の Microsoft ODBC ドライバー
Python と Azure SQL Database のデータベースの詳細については、「Python 用 Azure SQL Database ライブラリ」、pyodbc リポジトリ、および pyodbc のサンプルを参照してください。
データベースに対してクエリを実行するコードを作成する
任意のテキスト エディターで新しいファイル (sqltest.py) を作成します。
次のコードを追加します。 「前提条件」セクションから接続情報を入手し、<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()
コードの実行
コマンド プロンプトで、次のコマンドを実行します。
python sqltest.py
データベースとその照合順序が返されていることを確認し、コマンド ウィンドウを閉じます。
エラーが発生した場合:
- 使用しているサーバー名、データベース名、ユーザー名、パスワードが正しいことを確認してください。
- インストールした ODBC ドライバーが上記のコードの
driver
変数と同じバージョンであることを確認します。 たとえば、コードには 17 が示されていますが、別のバージョンがインストールされている可能性があります。 - ローカル環境からコードを実行している場合、アクセスしようとしている Azure リソースのファイアウォールが、お使いの環境の IP アドレスからのアクセスを許可するように構成されていることを確認してください。