pyodbc 连接字符串不工作 - "Data source name not found and no default driver specified"

pyodbc connection string isn't working - "Data source name not found and no default driver specified"

最近我试图通过 pyodbc 连接到 SQL 服务器,但我在连接字符串方面遇到了一些问题。我已经按照上一个问题的建议进行了尝试:,创建一个 .dsn 文件并尝试在字符串上实现该过程的输出,但仍然得到相同的错误消息: ('IM002', '[IM002] [unixODBC][Driver Manager]Data source name not found, and no default driver specified (0) (SQLDriverConnect)')

这是我目前所做的:

conn = pyodbc.connect('DRIVER={ODBC Driver 13 for SQL Server};
                      'WSID={BRRIO-xxxx};'
                      'APP={Microsoft® Windows® Operating System};'
                      'Trusted_Connection=Yes;'
                      'SERVER=BRRIO-xxxx\xxx;'
                      'Database=xxx_Data;'
                      'UID="xxxx";'
                      'PWD="xxxx";'
                      )

这就是我的 .dsn 文件的样子:

DRIVER={ODBC Driver 13 for SQL Server};
WSID={BRRIO-xxxx};
APP={Microsoft® Windows® Operating System};
Trusted_Connection=Yes;
SERVER=BRRIO-xxxx\xxx

非常感谢任何帮助!

对于遇到此问题的任何人,我按照此处的步骤找到了解决方案:https://www.sqlserverlogexplorer.com/database-does-not-exist-access-denied/

对我来说基本上是防火墙问题,端口 1433 被阻止。此外,请确保您使用的驱动程序适合您的情况(pyodbc.drivers(),如@Gord Thompson 所建议)并检查您的 SQL 服务器(SQL Server Management Studio 上的远程服务器连接> 转到 SQL 服务器实例 属性 > 连接 > 检查允许远程连接到此服务器)。