Se você está tentando se conectar ao SQL Server da sua máquina Linux, eu recomendo que você siga este link
Isso usa outro driver python pymssql que usa o FreeTDS para se conectar ao SQL Server. Deixe-me saber se isso ajuda.
Melhor Conheça o
Eu passei horas tentando realizar uma tarefa simples. Eu tinha o código python que eu costumava executar no windows, e ele acessa um banco de dados MS SQL em um servidor windows 2008. Eu configurei um servidor Ubuntu e quero rodar este script neste servidor. depois de ter instalado o pyodbc, freetds e um monte de outros pacotes eu ainda não consigo conectar ao DB. A string de conexão do Windows que eu estava usando era:
connectionString='DRIVER={SQL Server};SERVER=IP;DATABASE=Market;UID=usr;PWD=psw
depois de pesquisar bastante acabei com três arquivos de conexão odbc.ini odbcinst.ini e freetds.conf e eles parecem, respectivamente:
odbc.ini:
[sqlserverdatasource] Driver = Descrição do FreeTDS = conexão ODBC via FreeTDS Trace = No Servername = banco de dados sqlserver = Market;
odbcinst.ini
[FreeTDS] Descrição = driver do driver TDS (Sybase / MS SQL) = Configuração do /usr/lib/x86_64-linux-gnu/odbc/libtdsodbc.so /usr/lib/x86_64-linux-gnu/odbc/libtdsS.so CPTimeout = CPReuse = FileUsage = 1
freetds.conf
[sqlserver] host = 10.23.11.10; porta = 1433; versão tds = 5.0
Agora eu tenho tentado testar a conexão com o seguinte
tsql -S sqlserver
mas recebo o seguinte erro
Erro 20017 (gravidade 9): EOF inesperado do servidor Erro de sistema operacional 115, "Operação agora em andamento" Erro 20002 (gravidade 9): Falha na conexão do Adaptive Server
Eu pensei que levaria alguns minutos para fazer isso funcionar, mas perdi muitas horas. Qualquer ajuda é profundamente apreciada. obrigada.
Recentemente, desenvolvemos e testamos nossos drivers ODBC do SQL Server com pyODBC 3.0.7 no Python 3.3 e a conexão foi bem-sucedida. Tudo funcionou bem.
Tente fazer o download do driver link mais recente do pyODBC
e este driver ODBC do SQL Server
Há um exemplo de seqüências de conexão na documentação. Você pode usá-lo.
Eu me conecto regularmente aos bancos de dados usando python. Minha string de conexão é a seguinte:
ConnectionString = 'DSN = MyDSN'
DSN significa Data source Name
e seus detalhes são armazenados no arquivo odbc.ini
no formulário usado:
[MyDSN]
Driver = FreeTDS
Descrição = conexão ODBC via FreeTDS
Rastreamento = Não
Nome do servidor = sqlserver
Banco de dados = Market
USER = DBuser
Senha = yourpwd