我使用sqlalchemy wih python有一个连接问题



我想使用sqlalchemy和python连接到SQL Server数据库。但是,当我在下面运行代码时,我会收到以下错误

OperationalError :( Pyodbc.operationalerror(('08001','[08001] [Microsoft] [SQL Server本地客户端11.0] SQL Server网络 接口:指定服务器/实例的错误[XFFFFFFFF]。 (-1((sqldriverConnect(;[08001] [Microsoft] [SQL Server本地客户端 11.0]登录超时过期(0(;[08001] [Microsoft] [SQL Server本地客户端11.0]发生了与网络相关或特定实例的错误 在建立与SQL Server的连接时。无法找到服务器或 无法访问。检查实例名称是否正确,以及SQL Server是否为 配置为允许远程连接。有关更多信息,请参见SQL 在线服务器书。(-1('((此错误的背景: http://sqlalche.me/e/e3q8(

我认为这个问题与驾驶员有关,但我似乎无法理解。

这是我的代码:

  from sqlalchemy.sql import text
  from sqlalchemy import create_engine
  import secrets

  engine = create_engine( 'mssql+pyodbc://servername/test_db?       driver=SQL+Server+Native+Client+11.0')
  conn = engine.connect()
  s = text("SELECT * FROM user_tab ")
  result = conn.execute(s).fetchall()
  print(result)

你能帮我!

您在没有用户,密码,主机名或端口的情况下连接到DB。

当您查看文档中的示例时,请写下:

# pymssql
engine = create_engine('mssql+pymssql://scott:tiger@hostname:port/dbname')

您可以看到,此URL包含的信息比您在URL中的信息更多。

您刚刚有一个名称和dbname的URL。我不知道名字代表什么。

大多数情况下,主机名是localhost和端口1434。但是请确保您的MSSQLServer在哪里运行以及允许哪个用户在DB上进行查询!

文档:https://docs.sqlalchemy.org/en/13/core/engines.html

相关内容

最新更新