Краткое руководство. Использование Python для создания запросов к базе данных

Область применения: База данных SQL Azure Управляемый экземпляр SQL Azure Azure Synapse Analytics

При работе с этим кратким руководством вы будете использовать Python для подключения к Базе данных SQL Azure, Управляемому экземпляру SQL Azure или базе данных Synapse SQL, а затем выполните запрос данных с помощью инструкций T-SQL.

Предварительные требования

Для работы с этим кратким руководством вам понадобится:

Для дальнейшего изучения Python и базы данных в службе "Базы данных SQL Azure" см. Библиотеки Базы данных SQL Azure для Python, репозитория репозиторий 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-адреса вашей среды.

Дальнейшие действия