빠른 시작: Python을 사용하여 Azure SQL Database 또는 Azure SQL Managed Instance의 데이터베이스 쿼리

적용 대상:Azure SQL DatabaseAzure 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 주소에서 액세스를 허용하도록 구성되어 있는지 확인합니다.

다음 단계