2014-02-19 3 views
0

Я использую python 3.3 + pypyodbc. Когда я пытаюсь:python 3.3, pypyodbc, подключение к SQL Server Fails

connection = pypyodbc.connect("DRIVER{SQLServer}; 
           SERVER=serverIP; 
           UID=myid; 
           PWD=mypwd; 
           DATABASE=mydb") 

Я получаю сообщение об ошибке:

pypyodbc.DatabaseError: ('08001', '[08001] 
            [Microsoft] 
            [ODBC SQL Server Driver] 
            [DBNETLIB]Invalid connection.') 

Я знаю, что IP и учетные данные являются правильными, я использую их каждый день, чтобы запросить сервер с помощью Microsoft SQL Server Management Studio Express. Что мне здесь не хватает?

Спасибо.

+0

Альтернативный подход заключается в [установке] (https://www.microsoft.com/en-us/download/details.aspx?id=53339) драйвера Microsoft ODBC. Затем замените 'DRIVER {SQLServer};' на 'DRIVER = {драйвер ODBC 13 для SQL Server};' – mondieki

ответ

-2

Строка соединения не является правильным, Google для строки подключения ODBC правильная SQLSERVER в

+0

Здравствуйте, я вчера установил ваш пакет и могу использовать свой SQL-логин для доступа к данным - спасибо за все работа над этим. Могу ли я использовать проверку подлинности Windows для подключения к SQL-Server с помощью pypyodbc? – whytheq

3

попробовать что-то вроде этого ...

import pypyodbc 

connection_string ='Driver={SQL Server Native Client 11.0};Server=YOURSERVER;Database=YOURDATABASE;Uid=YOURUSER;Pwd=YOURPASSWORD;' 

connection = pypyodbc.connect(connection_string) 

SQL = 'SELECT * FROM <YOURTABLE>' 

cur = connection.cursor() 
cur.execute(SQL) 

cur.close() 
connection.close() 
+0

Будет ли это работать только в Windows с помощью '' Driver = {SQL Server Native Client 11.0}; ''? –

1

Попробуйте что-то вроде этого

import pypyodbc 
conn = pypyodbc.connect(driver='{SQL Server}', server='servername', database='dbname', uid='userName', pwd='Password') 

Измените имя сервера и другие значения с вашими учетными данными. Это отлично работает для меня. Если вы используете сервер azure sql, убедитесь, что вы добавили свой IP-адрес в правила брандмауэра.

Смежные вопросы