1
resposta

Conectar ao BD SQL Server

import pyodbc
conn = pyodbc.connect('DRIVER={SQL Server};SERVER='+server+';DATABASE='+db+';UID='+username+';PWD='+password)

Olá, preciso de um auxílio para conectar meu notebook ao BD SQL Server. estou usando o código acima. Na minha instalação do SQL Server coloquei as opções de logon pelo Windows ou com o user 'sa'

abaixo a msg de erro: " Server inexistente ou acesso negado" OperationalError Traceback (most recent call last) in ----> 1 conn = pyodbc.connect('DRIVER={SQL Server};SERVER='+server+';DATABASE='+db+';UID='+username+';PWD='+password)

OperationalError: ('08001', '[08001] [Microsoft][ODBC SQL Server Driver][DBNETLIB]SQL Server inexistente ou acesso negado. (17) (SQLDriverConnect); [08001] [Microsoft][ODBC SQL Server Driver][DBNETLIB]ConnectionOpen (Connect()). (123)')

1 resposta

Oii Paulo, como você está? Espero que esteja bem ^-^

As variáveis server, db, username, estão definidas antes, certo?

Um possível motivo disso estar ocorrendo é o pyodbc estar interpretando as variáveis como se estivesse tentando se conectar a um servidor chamado server, a um banco de dados chamado db, a um UID chamado username e assim por diante, ou seja, não está conseguindo interpretar as variáveis, logo, não consegue fazer um a conexão bem sucedida. E para que ele consiga interpretá-las, tente da seguinte forma:

conn = pyodbc.connect(driver='{SQL Server}', host=server, database=db,
                      user=username, password=password)

Ou então, outra forma que você pode tentar é ao invés de colocar variáveis, colocar diretamente o nome do banco, do server, senha... Exemplo:

conn = pyodbc.connect('DRIVER={SQL Server};SERVER=nome_do_seu_server;DATABASE=nome_do_seu_db;UID=nome_do_seu_uid;PWD=sua_senha')

Tente estas abordagens e me diga se deu certo.

Qualquer dúvida estou por aqui, tá bom?

Grande abraço!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software