Я настроил модуль Sql с края, который хранит данные из демонстрационного модуля «tempsensor» в базу данных sql на основе Docker-контейнера. Данные доступны через Mssql-tools-sqlcmd, где я могу получить запрос к базе данных. Но когда я пытаюсь получить доступ к базе данных с помощью другого приложения (я пытался с Python), это не сработало для меня
Я пробовал с pyodbc, но он не работает! Когда я попытался с установленным драйвером ODBC, я получил ошибку тайм-аута. Затем я попытался с драйвером FreeTDS, и это также не сработало для меня.
ссылки - https://docs.microsoft.com/en-us/azure/iot-edge/tutorial-store-data-sql-server
#this shows I am getting the data from the table with sql tool
acn-iot2@acniot2-UPC-GWS01:~$ sudo docker exec -it sql bash
root @ 2b08418b1986: / # / opt / mssql-tools / bin / sqlcmd -S localhost -U SA -P 'Сильный! Passw0rd'
1> ВЫБРАТЬ * ИЗ ИЗМЕРЕНИЙDB.dbo.TemperaMeasurements
2> идти
измерениеВремя расположения температуры
-------------------------------------- ------------ -------------------------------------- ------------ ------------
2019-06-10 11: 36: 46.9392878 машина 21.363193834486001
2019-06-10 11: 36: 46.9392878 окружающий 20.628800209671599
2019-06-10 11: 36: 52.8738186 машина
#############################################################################
Код Python, который я использовал
import pyodbc
server = 'localhost,1433'
database = 'MeasurementsDB'
username = 'su'
password = 'Strong!Passw0rd'
cnxn = pyodbc.connect('DRIVER={ODBC Driver 17 for SQL
Server};SERVER='+server+';DATABASE='+database+';UID='+username+';PWD='+
password)
cursor = cnxn.cursor()
Я получаю сообщение об ошибке типа
pyodbc.OperationalError: ('HYT00', '[HYT00] [unixODBC][Microsoft][ODBC Driver 17 for SQL Server]Login timeout expired (0) (SQLDriverConnect)')
но когда я пытаюсь читать с python, я не могу читать.