【问题标题】:Comma to specify a port number in sqlalchemy using mssql+pyodbc逗号在 sqlalchemy 中使用 mssql+pyodbc 指定端口号
【发布时间】:2021-03-12 15:52:50
【问题描述】:

我正在使用 SSH 隧道连接到 MSSQL Server 实例,我的 localhost 的端口号不是默认的 1433。为了连接到实例,我必须指定服务器名称,端口号用逗号分隔,例如 localhost,1267。

我能够从 SQL Server Management Studio 和 Azure Data Studio 成功连接它,但是当我在我的 python 项目中的 mssql+pyodbc 连接字符串服务器名称中用逗号指定端口号时,连接字符串不起作用。

我的连接字符串如下所示 -

mssql+pyodbc://user:password@localhost,1267/instance?driver=ODBC+Driver+17+for+SQL+Server

我尝试将端口号指定为 localhost:1267,但出现以下错误 -

sqlalchemy.exc.OperationalError: (pyodbc.OperationalError) ('HYT00', '[HYT00] [Microsoft][ODBC Driver 17 for SQL Server]Login timeout expired (0) (SQLDriverConnect)')

从数据工作室成功连接 -

【问题讨论】:

  • …@localhost:1267/… 是 SQLAlchemy 连接 URI 的正确格式
  • 是的,在文档中看到,我试过了,但没有用
  • edit您的问题更好地描述“没有工作”的意思。例如,您是否收到错误消息?如果有,是什么?
  • 感谢您的建议,我已经更新了我的问题并添加了异常消息

标签: sql-server python-3.x sqlalchemy pyodbc


【解决方案1】:

在连接字符串中使用 IP 地址而不是 localhost 解决了这个问题。更新后的连接字符串如下所示 -

mssql+pyodbc://user:password@127.0.0.1,1267/instance?driver=ODBC+Driver+17+for+SQL+Server

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-05-07
    • 2010-09-05
    • 1970-01-01
    • 2023-03-09
    • 1970-01-01
    • 2018-10-29
    • 2015-10-08
    • 1970-01-01
    相关资源
    最近更新 更多