В настоящее время я пытаюсь настроить мою строку подключения для SQLAlchemy на MSSQL. Из моего тестирования это работает:
engine = create_engine("mssql+pymssql://username:password@dviserver\dev0000/db").connect()
Однако, как мне ввести номер порта в эту строку подключения, я пробовал следующее, и это не работает:
engine = create_engine("mssql+pymssql://username:password@dviserver\dev0000:1433/db").connect()
Ниже приведена трассировка стека:
Traceback (most recent call last):
File "src\pymssql.pyx", line 636, in pymssql.connect
File "src\_mssql.pyx", line 1957, in _mssql.connect
File "src\_mssql.pyx", line 677, in _mssql.MSSQLConnection.__init__
_mssql.MSSQLDriverException: Connection to the database failed for an unknown reason.
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\conda\publisher-app\lib\site-packages\sqlalchemy\engine\base.py", line 2158, in _wrap_pool_connect
return fn()
File "C:\conda\publisher-app\lib\site-packages\sqlalchemy\pool.py", line 342, in unique_connection
return _ConnectionFairy._checkout(self)
File "C:\conda\publisher-app\lib\site-packages\sqlalchemy\pool.py", line 788, in _checkout
fairy = _ConnectionRecord.checkout(pool)
File "C:\conda\publisher-app\lib\site-packages\sqlalchemy\pool.py", line 529, in checkout
rec = pool._do_get()
File "C:\conda\publisher-app\lib\site-packages\sqlalchemy\pool.py", line 1193, in _do_get
self._dec_overflow()
File "C:\conda\publisher-app\lib\site-packages\sqlalchemy\util\langhelpers.py", line 66, in __exit__
compat.reraise(exc_type, exc_value, exc_tb)
File "C:\conda\publisher-app\lib\site-packages\sqlalchemy\util\compat.py", line 249, in reraise
raise value
File "C:\conda\publisher-app\lib\site-packages\sqlalchemy\pool.py", line 1190, in _do_get
return self._create_connection()
File "C:\conda\publisher-app\lib\site-packages\sqlalchemy\pool.py", line 347, in _create_connection
return _ConnectionRecord(self)
File "C:\conda\publisher-app\lib\site-packages\sqlalchemy\pool.py", line 474, in __init__
self.__connect(first_connect_check=True)
File "C:\conda\publisher-app\lib\site-packages\sqlalchemy\pool.py", line 671, in __connect
connection = pool._invoke_creator(self)
File "C:\conda\publisher-app\lib\site-packages\sqlalchemy\engine\strategies.py", line 106, in connect
return dialect.connect(*cargs, **cparams)
File "C:\conda\publisher-app\lib\site-packages\sqlalchemy\engine\default.py", line 412, in connect
return self.dbapi.connect(*cargs, **cparams)
File "src\pymssql.pyx", line 645, in pymssql.connect
pymssql.InterfaceError: Connection to the database failed for an unknown reason.
У меня была аналогичная проблема, я не уверен в сервере, к которому вы пытаетесь подключиться, но иногда номер ПОРТА не принимается как часть части СЕРВЕРА. Вы пытались передать его в качестве параметра? engine = create_engine ("mssql + pymssql: // имя пользователя: пароль @ dviserver \ d ev0000 / db? port = 1433" ) .connect ()
@SaulCruz попытался добавить порт в качестве параметра, не сработало, то же исключение :(
какое исключение вы получаете @LeBron James
@SaulCruz Я вставил трассировку стека выше: «pymssql.InterfaceError: соединение с базой данных не удалось по неизвестной причине».






какую именно ошибку вы получаете?