top of page

Como Conectar e Testar uma Conexão com SQL Server Usando Python (pyodbc)

  • Foto do escritor: Amanda Nascimento
    Amanda Nascimento
  • 24 de jul.
  • 3 min de leitura

Atualizado: 29 de set.


Se você está desenvolvendo aplicações ou analisando dados, em algum momento vai precisar se conectar a um banco de dados. Neste post, vou te mostrar como conectar o Python ao SQL Server usando a biblioteca pyodbc.


Considerando que você já tem instalado o SQL Server (clique aqui para saber mais), uma IDE e Python instalados, você pode abrir o visual studio code, abrir o terminal, e digitar: pip install pyodbc

Após a instalação da biblioteca você poderá testar o script abaixo no vs code, lembrando que se você alterou o nome padrão do servidor, não esqueça de substituí-lo abaixo no lugar de "localhost"



Exemplo de conexão com o autenticação via windows

import pyodbc

def best_driver_and_crypto():
    try:
        drivers = [d.lower() for d in pyodbc.drivers()]
        if 'odbc driver 18 for sql server' in drivers:
            return 'ODBC Driver 18 for SQL Server', 'Encrypt=yes;TrustServerCertificate=yes;'
        else:
            return 'ODBC Driver 17 for SQL Server', 'Encrypt=no;TrustServerCertificate=yes;'
    except:
        return 'ODBC Driver 18 for SQL Server', 'Encrypt=yes;TrustServerCertificate=yes;'

driver, crypto = best_driver_and_crypto()

server   = r'localhost'           
# ex.: 'MACHINE\SQLEXPRESS' ou 'insira aqui o ip do servidor,insira aqui o número da porta'
database = 'master'

try:
    conn = pyodbc.connect(
        f'DRIVER={{{driver}}};'
        f'SERVER={server};'
        f'DATABASE={database};'
        f'Trusted_Connection=yes;'
        f'{crypto}'
        f'MARS_Connection=Yes;',
        timeout=5
    )
    print("✅ Conexão (Windows) bem-sucedida!")
    cursor = conn.cursor()
    cursor.execute("SELECT name FROM sys.databases ORDER BY name;")
    for row in cursor.fetchall():
        print("📂 Banco:", row.name)
    conn.close()
except Exception as e:
    print("❌ Erro ao conectar (Windows):", e)


Exemplo de conexão com o autenticação via SQL SERVER



import pyodbc

def best_driver_and_crypto():
    try:
        drivers = [d.lower() for d in pyodbc.drivers()]
        if 'odbc driver 18 for sql server' in drivers:
            return 'ODBC Driver 18 for SQL Server', 'Encrypt=yes;TrustServerCertificate=yes;'
        else:
            return 'ODBC Driver 17 for SQL Server', 'Encrypt=no;TrustServerCertificate=yes;'
    except:
        return 'ODBC Driver 18 for SQL Server', 'Encrypt=yes;TrustServerCertificate=yes;'

driver, crypto = best_driver_and_crypto()

server   = r'localhost'           # ex.: 'ip servidor,nº da porta'
database = 'master'
user     = 'insira aqui o nome do usuário'
password = 'insira aqui a senha do usuário'

try:
    conn = pyodbc.connect(
        f'DRIVER={{{driver}}};'
        f'SERVER={server};'
        f'DATABASE={database};'
        f'UID={user};PWD={password};'
        f'{crypto}'
        f'MARS_Connection=Yes;',
        timeout=5
    )
    print("✅ Conexão (SQL Auth) bem-sucedida!")
    cursor = conn.cursor()
    cursor.execute("SELECT name FROM sys.databases ORDER BY name;")
    for row in cursor.fetchall():
        print("📂 Banco:", row.name)
    conn.close()
except Exception as e:
    print("❌ Erro ao conectar (SQL Auth):", e)


Se o nome do servidor esta correto e o SQL esta funcionando normalmente e deu erro de conexão, possivelmente esta faltando o driver de conexão.


Para saber se você tem o driver, abra o cmd (prompt de comando) e digite: odbcad32.exe

ree

Clique aqui para fazer o download


Depois disso, você poderá adicionar manualmente a conexão inserindo nome de usuário e senha, ou login pela conta do windows.


Se ainda asism não funcionar, reinicie o serviço do SQL digitando na lupa do windows: Configuration Manager, no menu do lado esquerdo clique em Serviços do SQL Server e em nome, selecione o serviço e clique com o botão direito para reiniciar.

Também é possível executar o script em python em uma IDE para identificar quais drivers estão instalados...



 Microsoft ODBC Driver para SQL Server



É o driver oficial da Microsoft que permite que aplicações (como Python via pyodbc, SSIS, Power BI, Excel, etc.) se conectem ao SQL Server usando o protocolo ODBC (Open Database Connectivity). Funciona como um tradutor entre o aplicativo e o SQL Server: você manda instruções SQL pelo pyodbc, e o driver converte isso em chamadas que o SQL Server entende.



Para saber qual drive esta instalado, no terminal da IDE

ree


Para instalar, abra o Power Shell

ree


ree

© 2017-2025  Criado e desenvolvido por Amanda Nascimento

  • Discord
  • GitHub
  • youtube
  • LinkedIn Amanda
bottom of page