다음을 통해 공유


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

적용 대상:Azure SQL 데이터베이스Azure SQL Managed InstanceAzure Synapse Analytics

이 빠른 시작에서는 Python을 사용하여 Azure SQL Database, Azure SQL Managed Instance 또는 Synapse SQL 데이터베이스에 연결하고 T-SQL 문을 사용하여 데이터를 쿼리합니다.

mssql-python 설명서 | mssql-python 소스 코드 | 패키지(PyPi)

필수 구성 요소

이 빠른 시작을 완료하려면 다음이 필요합니다.

설치

다음 단계에 따라 Python 드라이버를 사용하여 mssql-python 애플리케이션을 개발하도록 개발 환경을 구성합니다.

비고

이 드라이버는 SQL Server, Fabric의 SQL 데이터베이스 및 Azure SQL Database에서 기본적으로 사용하도록 설정되는 TDS(테이블 형식 데이터 스트림) 프로토콜을 사용합니다. 추가 구성이 필요하지 않습니다.

mssql-python 패키지 설치

mssql-python PyPI에서 패키지를 가져옵니다.

  1. 빈 디렉터리에서 명령 프롬프트를 엽니다.

  2. mssql-python 패키지를 설치합니다.

    pip install mssql-python
    

python-dotenv 패키지 설치

python-dotenv PyPI에서 가져옵니다.

  1. 동일한 디렉터리에 패키지를 설치합니다 python-dotenv .

    pip install python-dotenv
    

설치된 패키지를 확인합니다

PyPI 명령줄 도구를 사용하여 원하는 패키지가 설치되어 있는지 확인할 수 있습니다.

  1. 을 사용하여 설치된 패키지 목록을 확인합니다.pip list

    pip list
    

새 파일 만들기

  1. 현재 디렉터리에서 새 파일을 만듭니다 .env.

  2. 파일 내에서 .env 파일에 연결 문자열 이름이 SQL_CONNECTION_STRING인 항목을 추가합니다. 여기서 예제를 실제 연결 문자열 값으로 바꿉다.

    SQL_CONNECTION_STRING="Server=<server_name>;Database={<database_name>};Encrypt=yes;TrustServerCertificate=no;Authentication=ActiveDirectoryInteractive"
    

    팁 (조언)

    여기서 사용되는 연결 문자열은 연결하려는 SQL 데이터베이스의 유형에 따라 크게 달라집니다. Azure SQL Database 또는 Fabric의 SQL 데이터베이스에 연결하는 경우 연결 문자열 탭에서 ODBC 연결 문자열을 사용합니다. 시나리오에 따라 인증 유형을 조정해야 할 수도 있습니다. 연결 문자열 및 해당 구문에 대한 자세한 내용은 DSN 및 연결 문자열 키워드 및 특성을 참조하세요.

  3. 텍스트 편집기에서 sqltest.py라는 새 파일을 만듭니다.

  4. 다음 코드를 추가합니다.

    from os import getenv
    from dotenv import load_dotenv
    from mssql_python import connect
    
    load_dotenv()
    
    with connect(getenv("SQL_CONNECTION_STRING")) as conn:
        with conn.cursor() as cursor:
            cursor.execute("SELECT TOP 3 name, collation_name FROM sys.databases")
            rows = cursor.fetchall()
            for row in rows:
                print(row.name, row.collation_name)
    

코드 실행

  1. 명령 프롬프트에서 다음 명령을 실행합니다.

    python sqltest.py
    
  2. 데이터베이스 및 해당 데이터 정렬이 반환되었는지 확인한 다음, 명령 창을 닫습니다.

    오류가 표시되는 경우:

    • 사용 중인 서버 이름, 데이터베이스 이름, 사용자 이름 및 암호가 올바른지 확인합니다.

    • 로컬 환경에서 코드를 실행하는 경우 액세스하려는 Azure 리소스의 방화벽이 환경의 IP 주소에서 액세스를 허용하도록 구성되어 있는지 확인합니다.