当前位置: 首页 > 知识库问答 >
问题:

连接到SQL数据库时出现pyodbc错误“无法打开登录请求的数据库”database3“。”

微生俊捷
2023-03-14

我连接了一个数据库,它以前工作过,几个月后回到脚本,现在它停止工作了,我得到以下错误:

conn=pyodbc.connect('driver={SQL Server};Server='+db['servername']+';database='+db['database']+';trusted_connection=yes'+';uid='+db['user']+';pwd='+db['password'])

ProgrammingError:('42000','[42000][Microsoft][ODBC SQL Server驱动程序][SQL Server]无法打开登录请求的数据库“Database3”。登录失败。(4060)(SQLDriverConnect);[42000][Microsoft][ODBC SQL Server驱动程序][SQL Server]无法打开登录请求的数据库“Database3”。登录失败。(4060)')

我可以使用SQL server server management studio版本18使用相同的凭据进行连接,并查询有问题的数据库。我使用的是以下版本号:

Python: 3.6.7 
Pandas: 1.0.3
pyODBC: 4.0.27 also tried upgrading this to 4.0.30.

im用于连接的代码是:

# parameters for connecting to SQL databse 
DB = {'servername': 'server\sqlexpress',
      'database': 'database3',
     'user':'sa',
     'password' : 'Password'}

# create the connection
conn = pyodbc.connect('DRIVER={SQL Server};SERVER=' + DB['servername'] + ';DATABASE=' + DB['database'] + ';Trusted_Connection=yes' + ';UID=' + DB['user'] + ';PWD=' + DB['password'])

一些能帮我解决这个问题吗?

共有1个答案

卞轶
2023-03-14

您应该提供uid=...;pwd=...trusted_connection=yes,而不是两者都提供。如果要使用SQL身份验证(与Windows身份验证相反),则使用trusted_connection=no(或者干脆省略它)。

 类似资料:
  • 我们的组织有一个远程SQL数据库,我正试图使用PyODBC连接到该数据库。 下面是测试代码:- 但是,当我尝试使用PyODBC连接时,我无法连接并得到以下错误。 PyODBC.OperationalError:('08001','[08001][Microsoft][ODBC SQL Server驱动程序][DBNETLIB]SQL Server不存在或访问被拒绝.(17)(SQLDriverCo

  • 我试图使用pyodbc连接到Azure SQL数据库,但收到错误: Pyodbc.InterfaceError:('28000','[28000][Microsoft][SQL Server的ODBC驱动程序17][SQL Server]用户'adminc'登录失败。(18456)(SQLDriverConnect);[28000][Microsoft][SQL Server的ODBC驱动程序17

  • 问题内容: 我似乎遇到了错误:将我的SQL Server数据库连接到用netbeans编写的Java应用程序时。 我已经阅读了许多文章,并做了以下工作: 在UDP和TCP下允许1433端口连接到防火墙 将SQL Server配置管理器TCP / IP端口设置为1433 将SQL Server Management Studio中的服务器身份验证更改为混合身份验证 SQL Server Manage

  • 问题内容: 所以我在用Java连接MySQL时遇到问题。这是我的代码: 我得到的错误是线程“ main”中的异常 http://postimg.org/image/593stjvjx/ 在mySQL工作台中,我的连接名是“ worlddb”,主机名是Liquidus(是本地主机) 套接字是MySQL 端口:3306 为什么是这样? 问题答案: 图片中的模式与连接的名称和Database,try w

  • 我是php的初学者,对于一个项目,我想把我和数据库连接起来,但问题是: 我需要4个变量: 当我这样做时: 有两个错误: 警告:mysqli::mysqli():php_network_getaddress:getaddrinfo失败:第21行/home/ubuntu/workspace/index.php中的名称或服务未知 而且 警告:mysqli::mysqli():(HY000/2002):p

  • 查询数据库时出错。原因:org.springframework.JDBC.canNotgetJDBCConnectionException:未能获得JDBC连接;嵌套异常是java.sql.sqlexception:对文件“d:companydbprodatafile.fdb”进行“createFile(open)”操作时发生I/O错误;试图打开文件时出错;[SQLSTATE:08001,ISC错