Я просто провел часы, пытаясь выполнить простую задачу. У меня был код Python, который я раньше выполнял в окнах, и он получает доступ к дб SQL MS на Windows Server 2008. Я настроил сервер человечности и хочу запустить этот скрипт в этом сервере. установив pyodbc, freetds и набор других пакетов я все еще не могу соединиться с DB. Строка подключения окон, которую я использовал, была:
connectionString='DRIVER={SQL Server};SERVER=IP;DATABASE=Market;UID=usr;PWD=psw
после исследования много я закончил с тремя файлами соединения odbc.ini odbcinst.ini и freetds.conf, и они смотрят, соответственно как это:
odbc.ini:
[sqlserverdatasource] Драйвер = Описание FreeTDS = соединение ODBC через Трассировку FreeTDS = Никакое Имя сервера = sqlserver База данных = Рынок;
odbcinst.ini
[FreeTDS] Описание = драйвер TDS (Sybase/MS SQL) Драйвер =/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] размещают = 10.23.11.10; порт = 1433; версия tds = 5.0
Теперь я пытался протестировать соединение со следующим
tsql -S sqlserver
но я получаю следующую ошибку
Ошибка 20017 (серьезность 9): Неожиданный EOF с сервера ошибка ОС 115, "Операция теперь в прогрессе" Ошибка 20002 (серьезность 9): Адаптивное Серверное соединение перестало работать
Я думал, что потребуется несколько минут, чтобы заставить его работать, но я потратил впустую много часов. любая справка глубоко ценится.спасибо.
Недавно мы разработали и протестировали наш SQL Server, драйверы ODBC с pyODBC 3.0.7 на Python 3.3 и соединении были успешны. Все хорошо работали.
Попытка загрузить последний pyODBC драйвер https://github.com/mkleehammer/pyodbc и этот SQL Server драйвер
ODBC Там является примером строк подключения в документации. Можно использовать его.
При попытке соединиться с SQL Server от своей машины Linux, я настоятельно рекомендую, чтобы Вы перешли по этой ссылке https://azure.microsoft.com/en-us/documentation/articles/sql-database-develop-python-simple-ubuntu-linux /
, Это использует другой драйвер Python pymssql, который использует FreeTDS для соединения с SQL Server. Сообщите мне, помогает ли это.
Лучший,
Встречаются
Я регулярно соединяю с DBs использование питона. Моя строка подключения следующие:
ConnectionString ='DSN=MyDSN'
DSN обозначает Data source Name
, и его детали, сохранены в odbc.ini
файл в форме, которую Вы используете:
водитель [MyDSN]
= описание FreeTDS
= связь ODBC Виа ФРЕЕТДС
След = Никакой
Servername = база данных sqlserver
= Рынок
ПОЛЬЗОВАТЕЛЬ = пароль DBuser
= yourpwd