我尝试在python中使用pyodbc更改sql登录数据库的密码
但是我在对象“@P1”(102)(SQLExecDirectW)附近得到错误语法…无法准备指令(8180)
config.login = 'user'
config.haslo = '12345'
haslo = 'abcde'
con = pyodbc.connect("DRIVER={ODBC Driver 11 for SQL Server};"
"SERVER=Serwer;"
"DATABASE=Baza;"
"UID="+config.login+";"
"PWD="+config.haslo+";"
"autocommit=true")
kursor = con.cursor()
zapytanie = """ALTER LOGIN ? with password = ? old_password = ?"""
val = (config.login, haslo, config.haslo)
kursor.execute(zapytanie, val)
kursor.commit()
kursor.close()
del kursor
SQLServerODBC显然不支持ALTERLOGIN语句的参数化。而不是用这个。。。你知道吗
。。。您需要执行以下操作:
重要信息-与所有动态SQL一样,这可能容易受到SQL注入问题的影响。请务必清除登录id和密码值!你知道吗
(SQL Server的长期用户可能记得有一个名为
sp_password
的系统存储过程,但the documentation表示它已被弃用。)相关问题 更多 >
编程相关推荐