У меня есть MySQL DB, работающая на FreeBSD 11.2, и я решил использовать туннель S SH в качестве средства доступа к нему извне. Я могу получить доступ к БД с другого хоста FreeBSD, но я пытаюсь получить к ней доступ также с помощью pyodb c из Windows 10.
Я получаю следующую ошибку сразу после Я пытаюсь подключиться:
Failed to establish connection: [('HY000', '[HY000] [Microsoft][ODBC Driver 17 for SQL Server]Protocol error in TDS stream (0) (SQLDriverConnect); [HY000] [Microsoft][ODBC Driver 17 for SQL Server]Client unable to establish connection due to prelogin failure (0)')]
Мой вызов connect () выглядит следующим образом:
self.db = pyodbc.connect(driver='{ODBC Driver 17 for SQL Server}',server='127.0.0.1,3306',database='games',uid='{0}'.format(usr),pwd='{0}'.format(pw))
Я смог подтвердить, что туннель S SH создан правильно, поэтому я подозреваю, что что-то не так с фактическим доступом к БД с использованием pyodb c. Если я намеренно испортил порт или IP-адрес, он зависнет при подключении примерно на 30 секунд и в конечном итоге вернется с ошибкой подключения.
Просмотр журналов трассировки для подключения ODB C ничего не даст интересно / полезно. Есть идеи?