我有一个数据库,我连接到以前工作过,几个月后回到脚本,现在它停止工作,我得到下面的错误:
conn=pyodbc。connect('DRIVER={SQL Server};Server='DB['servername'];DATABASE='DB['DATABASE'];Trusted_Connection=yes';UID='DB['user'];PWD='DB['password']))
程序错误:('42000','[42000][Microsoft][ODBCSQL服务器驱动程序][SQL服务器]无法打开登录请求的数据库数据库数据库3。登录失败。(4060)(SQLDriverConnect);[42000][Microsoft][ODBCSQL服务器驱动程序][SQL服务器]无法打开登录请求的数据库数据库数据库3。登录失败。(4060)')
我可以使用SQL server management studio版本18使用相同的凭据进行连接,并查询相关数据库。我正在使用以下版本号:
Python: 3.6.7
Pandas: 1.0.3
pyODBC: 4.0.27 also tried upgrading this to 4.0.30.
我用来连接的代码是:
# 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'])
能帮我解决这个问题吗?
您应该提供UID=。。。;PWD=
或受信任的\u连接=是
,而不是两者都是。如果要使用SQL身份验证(与Windows身份验证相反),请使用Trusted\u Connection=no
(或者干脆省略它)。