【问题标题】:Unable to connect to mssql server with SQLalchemy, operational error and interface error无法连接到带有 SQLalchemy、操作错误和接口错误的 mssql 服务器
【发布时间】:2019-08-08 11:10:16
【问题描述】:

我一直在尝试在 SQLalchemy 的帮助下连接到 mssql 数据库,但无法连接。我遇到了两种不同的错误- 这是我的代码-

import sqlalchemy
from sqlalchemy import create_engine 
engine = 
create_engine("mssql+pymssql://username:password@DSNsource")
connection = engine.connect()

下面的代码

engine = 
sqlalchemy.create_engine('mssql+pyodbc://user:password@server/database', pool_pre_ping=True)
connection = engine.connect()

正在给我以下错误--

InterfaceError: (pymssql.InterfaceError) 由于未知原因连接到数据库失败。 (此错误的背景:http://sqlalche.me/e/rvf5

尝试使用 pyodbc 而不是 pymssql 但它给了我一个不同的错误。

import sqlalchemy
from sqlalchemy import create_engine 
engine = 
create_engine("mssql+pyodbc://username:password@DSNsource")
connection = engine.connect()

OperationalError: (pyodbc.OperationalError) ('08001', '[08001] [Microsoft][ODBC Driver 13 for SQL Server]Named Pipes Provider: 无法打开与 SQL Server [53] 的连接。(53) ( SQLDriverConnect); [08001] [Microsoft][ODBC Driver 13 for SQL Server]登录超时已过期 (0); [08001] [Microsoft][ODBC Driver 13 for SQL Server]发生网络相关或特定于实例的错误,同时建立与 SQL Server 的连接。未找到或无法访问服务器。检查实例名称是否正确以及 SQL Server 是否配置为允许远程连接。有关详细信息,请参阅 SQL Server 联机丛书。(53)')(背景知识错误:http://sqlalche.me/e/e3q8)

【问题讨论】:

    标签: python sqlalchemy


    【解决方案1】:

    pymssql 库可能已被弃用,并且可能很快变得无法使用。我最终使用了带有以下代码的 pyodbc:

    导入pyodbc

    dsn="DRIVER={SQL Server 名称};server=server_name;database=db_name;uid=user_name;pwd=password" cnxn = pyodbc.connect(dsn) 光标 = cnxn.cursor()

    在此之前,进入控制面板 -> 管理工具 ->ODBC 数据源(32 位或 64 位,取决于您的系统配置),进入系统 DSN 并确保您尝试使用的 DSN 存在。如果没有,请添加一个。

    【讨论】:

      猜你喜欢
      • 2020-12-14
      • 2019-10-08
      • 2021-10-06
      • 2023-04-07
      • 2019-01-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-05-27
      相关资源
      最近更新 更多