Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/362.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 当连接字符串中没有提供用户和pwd时,pyodbc从何处获取用户和pwd_Python_Database_Permissions_Pyodbc - Fatal编程技术网

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

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年之前的

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

如果连接字符串只有驱动程序、服务器和数据库名称,是否有人知道用户来自哪里

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

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

  • 使用
    驱动程序={SQL Server}
    仅启用功能和数据类型 由SQLServer2000支持。对于2005年之前的功能,请使用
    {SQL
    本机客户端}
    对于2008年之前的功能,请使用
    {SQL Server
    本机客户端10.0}

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


我刚刚做了一些测试,
{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注册表中,我也看不到任何用户名记录。我不知道这是不是设置得不对。