无法通过SQLalchemy,操作错误和接口错误连接到mssql服务器

时间:2019-03-18 05:59:10

标签: python sqlalchemy

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

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] [SQL Server的ODBC驱动程序13]命名管道提供程序:无法打开与SQL Server [53]的连接。(53)( SQLDriverConnect); [08001] [Microsoft] [用于SQL Server的ODBC驱动程序13]登录超时已过期(0); [08001] [Microsoft] [用于SQL Server的ODBC驱动程序13]与网络有关或特定于实例的错误发生在建立与SQL Server的连接。找不到或无法访问服务器。检查实例名称是否正确以及是否将SQL Server配置为允许远程连接。有关更多信息,请参见SQL Server联机丛书(53)')(有关此背景错误:http://sqlalche.me/e/e3q8

1 个答案:

答案 0 :(得分:0)

pymssql库可能已被弃用,可能很快将变得不可用。我最终将pyodbc与以下代码一起使用:

  

导入pyodbc

     

dsn =“ DRIVER = {SQL Server名称};服务器=服务器名称;数据库=数据库名称; uid =用户名称; pwd =密码”   cnxn = pyodbc.connect(dsn)   cursor = cnxn.cursor()

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

相关问题