Python 当连接字符串中没有提供用户和pwd时,pyodbc从何处获取用户和pwd
我继承了一个项目,在尝试与数据库交互时遇到了权限问题。基本上,我们有一个分离然后删除的两步过程 如果连接字符串只有驱动程序、服务器和数据库名称,是否有人知道用户来自哪里 编辑 我使用的是Windows Server 2008标准版 编辑Python 当连接字符串中没有提供用户和pwd时,pyodbc从何处获取用户和pwd,python,database,permissions,pyodbc,Python,Database,Permissions,Pyodbc,我继承了一个项目,在尝试与数据库交互时遇到了权限问题。基本上,我们有一个分离然后删除的两步过程 如果连接字符串只有驱动程序、服务器和数据库名称,是否有人知道用户来自哪里 编辑 我使用的是Windows Server 2008标准版 编辑 “驱动程序={%s};服务器=%s;数据库=%s;”其中驱动程序是“SQL SERVER”由于您使用的是Windows,因此您应该了解以下几点: 使用驱动程序={SQL Server}仅启用功能和数据类型 由SQLServer2000支持。对于2005年之前的
“驱动程序={%s};服务器=%s;数据库=%s;”其中驱动程序是“SQL SERVER”由于您使用的是Windows,因此您应该了解以下几点:
- 使用
仅启用功能和数据类型 由SQLServer2000支持。对于2005年之前的功能,请使用驱动程序={SQL Server}
对于2008年之前的功能,请使用{SQL 本机客户端}
{SQL Server 本机客户端10.0}
- 要查看ODBC连接,请转到开始并搜索“ODBC”和
打开
。这将列出用户、系统和文件 图形用户界面中的DSN。您应该找到带有用户名和密码的DSN 在那里填写数据源(ODBC)
{SQL Server}
ODBC驱动程序显然默认使用Windows身份验证,前提是连接字符串中省略了可信连接
和UID
选项。因此,Python脚本必须使用运行脚本的用户的Windows凭据连接到SQL Server实例
(另一方面,
{SQL Server Native Client 10.0}
驱动程序似乎默认为SQL身份验证,除非连接字符串中包含受信任的连接=yes
)是否检查了.connect()
调用以查看是否将UID
和PWD
作为关键字参数提供?(另外,我假设连接字符串或.connect()
调用不包括Trusted\u connection=yes
)能否包含Python代码中的连接字符串?具体来说,在“Driver=”之后它会说什么?我刚刚检查过,如果没有提供uid,它不会将任何内容传递到connect@GordThompsonDriver=SQL Server@FlipperPAThanks,我已经更新了答案,希望它有您需要的一切。祝你好运很高兴了解将非常有用的本机位。用户DSN只有DBASE文件、Excel文件和MS Access数据库,系统和文件一样为空。即使在ODBC注册表中,我也看不到任何用户名记录。我不知道这是不是设置得不对。