Estou tentando me conectar ao SQL por meio de python para executar algumas consultas em alguns bancos de dados SQL no servidor Microsoft SQL. De minha pesquisa online e neste fórum, a biblioteca mais promissora parece ser a pyodbc. Então eu fiz o seguinte código
import pyodbc
conn = pyodbc.connect(init_string="driver={SQLOLEDB}; server=+ServerName+;
database=+MSQLDatabase+; trusted_connection=true")
cursor = conn.cursor()
e obter o seguinte erro
Traceback (most recent call last):
File "C:\Users...\scrap.py", line 3, in <module>
conn = pyodbc.connect(init_string="driver={SQLOLEDB}; server=+ServerName+; database=+MSQLDatabase+; trusted_connection=true")
pyodbc.Error: ('IM002', '[IM002] [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified (0) (SQLDriverConnect)')
Eu olhei os posts a seguir e tentei mudar meu driver para {sql server} e me conectei usando links ODBC antes no SAS, que é parcialmente o que meu código acima é baseado, então não acho que eu preciso instalar mais nada.
Pyodbc - "Nome da fonte de dados não encontrado e nenhum driver padrão especificado"
obrigado
adodbapi
para usar a conexão OLEDB. E o formato de string é a maneira recomendada de passar variáveis para uma string em vez de usar o+
operador. As chaves com números são marcadores de posição que sãoformat()
preenchidos de acordo. Você pode até mesmo passar listas e tuplas usandoformat()
. Seu código original não quebrou string e variáveis entre aspas, então+
foi considerado parte da string.Eu prefiro assim ... era muito mais fácil
http://www.pymssql.org/en/stable/pymssql_examples.html
fonte
Aqui estão algumas fotos para iniciantes.
fonte
Tente usar o pytds, ele funciona em ambientes mais complexos
pyodbc
e mais fáceis de configurar.Eu fiz funcionar no Ubuntu 18.04
Exemplo de código na documentação:
fonte
Seguir o código Python funcionou para mim. Para verificar a conexão ODBC, primeiro criei um aplicativo de console C # de 4 linhas conforme listado abaixo.
Código Python
Chamando um procedimento armazenado
Programa C # para verificar a conexão ODBC
fonte
Uma abordagem alternativa seria instalar o driver ODBC 13 da Microsoft e substituí-lo
SQLOLEDB
porODBC Driver 13 for SQL Server
Saudações.
fonte
aqui está o que funciona para mim:
fonte
Encontrei recursos atualizados aqui: Microsoft | SQL Docs | Driver Python SQL
Existem essas duas opções explicadas, incluindo todos os pré-requisitos necessários e exemplos de código: Driver Python SQL - pyodbc (testado e funcionando) Driver Python SQL - pymssql
fonte
Minha versão. Espero que ajude.
fonte
Tentei conectar o sql server das seguintes maneiras e funcionou para mim.
Para conectar usando a autenticação do Windows
Para usar a autenticação de servidor sql, usei o seguinte código.
fonte
Experimente com
pymssql
:pip install pymssql
Resultado:
A conexão também pode ser verificada no terminal, com uma única linha de código com
sqlcmd
. Veja a sintaxe .resultado:
fonte