Здравствуйте.
Вот так туннель поднимается, соединение с MSSQL, как бы пытается установиться но на этом всё и оканчивается соединение бесконечно висит в состоянии pending:
import pymssql
from sshtunnel import SSHTunnelForwarder
from time import sleep
def query():
with SSHTunnelForwarder(
('111.222.333.444', 22),
ssh_username='ssh-user',
ssh_password='ssh-pass',
remote_bind_address=('192.168.0.2', 1433),
local_bind_address=('127.0.0.1', 1433),
) as tunnel:
print(tunnel)
connection = pymssql.connect(server='127.0.0.1', port='1433', user='user', password='pass', database='base')
cursor = connection.cursor(as_dict=True)
cursor.execute('SELECT id_country id, name title FROM dbo.Country WHERE id_country > 0')
for row in cursor:
print(row['title'])
sleep(2)
connection.close()
sleep(10)
print('FINISH!')
query()
Если поделить скрипт на два и в одном оставить часть кода которая поднимает туннель, а во втором оставить часть кода которая подключается к MSSQL базе и запустить их по очереди, то всё случиться, туннель поднимется, скрипт подключиться к MSSQL и выполнит запрос.
То-есть не получается поднять туннель и выполнить подключение к MSSQL базе из одного скрипта...
Что я делаю не так? Или может это некий баг?