【发布时间】:2023-04-06 06:21:02
【问题描述】:
几天前,我可以通过 Jupyter Notebook 输入我的凭据访问数据库。同时,我更改了密码,现在我尝试运行相同的代码并获得错误。通过使用新密码,我可以从已配置数据库的高级查询工具访问数据库,但我可以从 Jupyter Notebook 访问它。 我尝试访问数据库的代码如下:
import pyodbc
import pandas as pd
cnxn = pyodbc.connect(
driver='{iSeries Access ODBC Driver}',
system='System_name',
uid='id123',
pwd='password_12345')
sql = "Select * from MyDB.MyTable"
data = pd.read_sql(sql,cnxn)
我得到的错误如下:
InterfaceError Traceback(最近一次调用最后一次) 在
6 system='System_name', 7 uid='id123', ----> 8 pwd='password_12345') 9 sql = "Select * from MyDB.MyTable"
InterfaceError: ('28000', '[28000] [IBM][System i Access ODBC 驱动程序]通讯链路故障。通讯 rc=8011 - CWBSY0011 - 用户 系统 System_name 上的 id123 已禁用,密码长度 = 14, 提示模式 = 从不,系统 IP 地址 = XX.XXX.X.XX (8011) (SQLDriverConnect); [28000] [IBM][System i 访问 ODBC 驱动程序]通讯链路故障。 comm rc=8011 - CWBSY0011 - 用户 系统 System_name 上的 id123 已禁用,密码长度 = 14, 提示模式 = 从不,系统 IP 地址 = XX.XXX.X.XX (8011)')
【问题讨论】:
-
您需要让您的管理员重新启用该用户(当密码错误次数过多时,该帐户将被锁定(禁用))。所以让管理员重新激活/启用/解锁帐户。
-
@mao 感谢您的努力。现在已经解决了。
标签: python sql jupyter-notebook db2 pyodbc