2015-09-04 3 views
2

Попытка подключиться к серверу sql с помощью pypyodbc, но я продолжаю получать «имя источника данных не найден и не указан по умолчанию». См. Ниже попытку. Я довольно новичок во всем этом, но по-прежнему думал, что тестирование соединения будет проще.pypyodbc подключение к серверу sql

import pypyodbc 

connection = pypyodbc.connect("DRIVER = {SQL Server}; Server = servername;Trusted_Connection = Yes") 
connection.close() 
+0

@ Andy в нижнем регистре не работает – phinite

ответ

1

Ваша строка подключения отсутствует Database спецификатор, и вы должны удалить пробелы из DRIVER спецификатора.

connection = pypyodbc.connect("DRIVER={SQL Server}; Server = servername;DATABASE=MyDatabase;Trusted_Connection = Yes") 
+0

ошибка была возвращена – phinite

+0

Проверьте с удалением пробелов из указателя 'DRIVER' следующим образом:' DRIVER = {SQL Server} '. –

+0

Просто убедитесь, что вы осторожны с драйвером, который используете. У меня были проблемы с NULLS и datetime при использовании драйвера FreeTDS unixODBC. Убедитесь, что вы захватили драйверы клиентских драйверов sql, чтобы избежать проблем, которые у меня были. –

0

Если вы хотите подключиться к python с SQL Server, тогда вы используете мой модуль MySQLdb, доступный для python 2.7.

import MySQLdb as mdb 
connectString=Server={SQL Server};Database={Database Name};UID={UserId};PWD={password} 
conn = mdb.connect(connectString) 

альтернативно вы можете использовать pyobbc.

import pyodbc 
cnxn = pyodbc.connect('DRIVER={SQL Server};SERVER={SQL Server};DATABASE={Database Name};UID={UserId};PWD={password} 
1

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

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

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

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