1

我正在使用 SQLalchemy 和 pyodbc 连接到 SQL 服务器。我可以使用“Windows 身份验证”进行连接:

create_engine('mssql+pyodbc://[ServerName]/[DatabaseName]',echo=True)

这很好,但是当我尝试登录(SQL 服务器身份验证)时它失败了:

create_engine('mssql+pyodbc://[User]:{Password]@[ServerName]/[DatabaseName]',echo=True)
  1. 我的代码正确吗?我错过了一个设置吗?
  2. 有没有办法列出数据库用户来检查名字?
4

1 回答 1

1
  1. 是的,您的连接字符串是正确的。确保用户/密码组合正确。另请注意,用户/密码只能用于使用“SQL Server 身份验证”(在下面的代码中SQL_LOGIN)而不是“Windows 身份验证”的用户
  2. 如果您有足够的权限进行连接,您可以执行以下命令来查看所有登录:
    for x in session.execute("SELECT name, type, type_desc FROM sys.server_principals"): print x
于 2012-06-04T12:19:27.160 回答