Conecte-se a um Microsoft SQL Server usando Python e Pyodbc

Vaibhav Vaibhav 4 dezembro 2021
Conecte-se a um Microsoft SQL Server usando Python e Pyodbc

O Microsoft SQL Server é um sistema de gerenciamento de banco de dados relacional ou RDBMS resumidamente. Como o nome sugere, foi desenvolvido pela Microsoft e está escrito em C/C++. É uma ferramenta que permite aos seus usuários interagir com bases de dados relacionais utilizando SQL ou Structured Query Language.

Ao trabalhar com aplicativos do mundo real, temos que lidar com muitos dados. Os dados devem ser atualizados, criados e excluídos a cada segundo, e esses RDBMS são inteligentes e robustos o suficiente para lidar com essas operações de forma rápida e segura.

Agora, os aplicativos são desenvolvidos usando várias linguagens de programação. Isso significa que cada linguagem de programação deve ter uma maneira de se conectar a esses RDBMS e acessar os dados armazenados nos bancos de dados. Essas formas incluem ORMs ou bibliotecas Object Relational Mapping e Open Database Connectivity ou pacotes ODBC. São duas coisas muito diferentes e ambas podem ser usadas para se conectar a bancos de dados.

Uma diferença simples entre os dois é que ORM permite que os desenvolvedores interajam com bancos de dados usando classes Python ou modelos que representam tabelas e gerenciadores de banco de dados (outra classe Python) para realizar consultas sobre os modelos. Por outro lado, ODBC permite que os desenvolvedores escrevam consultas SQL brutas ou nativas para interagir diretamente com o banco de dados.

Uma vez que Python é uma linguagem de programação famosa e amplamente utilizada, também tem um bom suporte para ORMs e ODBCs. E, uma vez que estamos falando sobre conectar-se ao Microsoft SQL Server usando Python e pyodbc, aprenderemos principalmente sobre ODBCs, porque pyodbc é um ODBC.

Conectando-se a um Microsoft SQL Server usando pyodbc

Para se conectar a um Microsoft SQL Server, primeiro precisamos de alguns detalhes sobre o servidor: o nome do driver, o nome do servidor e o nome do banco de dados. Com as informações acima, uma string especial deve ser criada, a qual será passada para a função connect() da biblioteca pyodbc.

O formato da string é o seguinte -

Driver = { < driver_name > }
Server = <server_name >
Database = <database_name >
Trusted_Connection = yes

Usando o método connect(), uma conexão será estabelecida entre o programa e o servidor, e então, usando essa conexão, as consultas SQL podem ser realizadas diretamente no banco de dados.

Consulte o seguinte código para o mesmo.

import pyodbc

connection = pyodbc.connect(
    "Driver={<driver_name>};Server=<server_name>;Database=<database_name>;Trusted_Connection=yes;"
)  # Connection string
cursor = connection.cursor()
cursor.execute("SELECT * FROM <table_name>")  # Executing a query

for row in cursor:  # Looping over returned rows and printing them
    print(f"row = {row}")

Também é possível se conectar a um servidor usando DSN ou Data Source Name, um ID de usuário e uma senha. E a string para o mesmo é a seguinte.

DSN = <dsn >
UID = <user >
PWD = <password >

Nesse caso, consulte o código a seguir.

import pyodbc

connection = pyodbc.connect("DSN=<dsn>;UID=<user>;PWD=<password>")  # Connection string
cursor = connection.cursor()
cursor.execute("SELECT * FROM <table_name>")  # Executing a query

for row in cursor:  # Looping over returned rows and printing them
    print(f"row = {row}")

Para saber mais sobre drivers do Microsoft SQL Server, conexões e informações necessárias para conectar utilizando a biblioteca, consulte aqui. E, para saber mais sobre a biblioteca em si, consulte a documentação oficial aqui.

Vaibhav Vaibhav avatar Vaibhav Vaibhav avatar

Vaibhav is an artificial intelligence and cloud computing stan. He likes to build end-to-end full-stack web and mobile applications. Besides computer science and technology, he loves playing cricket and badminton, going on bike rides, and doodling.