当连接字符串中没有提供用户和pwd时,pyodbc从何处获取用户和pwd

2024-04-19 07:34:33 发布

您现在位置:Python中文网/ 问答频道 /正文

我继承了一个项目,并且在尝试与数据库交互时遇到了权限问题。基本上,我们有一个分离然后删除的两步过程。在

如果连接字符串只有驱动程序、服务器和数据库名称,有人知道用户来自何处吗。在

编辑 我使用的是Windows Server 2008标准版 编辑 “驱动程序={%s};服务器=%s;数据库=%s;”,其中驱动程序是“SQL SERVER”


Tags: 项目字符串用户服务器名称数据库权限编辑
2条回答

由于您使用的是Windows,因此您应该了解以下几点:

  • 使用Driver={SQL Server}只启用特性和数据类型 受SQL Server 2000支持。对于2005年之前的特性,使用{SQL Native Client},对于2008年之前的特性,使用{SQL Server Native Client 10.0}

  • 要查看ODBC连接,请转到“开始”并搜索“ODBC”和 打开Data Sources (ODBC)。这将列出用户、系统和文件 图形用户界面中的DSN。您应该找到带有用户名和密码的DSN 填在那里。

我刚做了一些测试,{SQL Server}ODBC驱动程序显然默认使用Windows身份验证,如果在连接字符串中省略了Trusted_connection和{}选项。因此,Python脚本必须使用运行脚本的用户的Windows凭据连接到sqlserver实例。在

(另一方面,{SQL Server Native Client 10.0}驱动程序似乎默认为SQL身份验证,除非Trusted_connection=yes包含在连接字符串中。)

相关问题 更多 >