[firebase-br] Alguem ai usa Python com FB?
Gladiston Santana
gladiston em vidy.com.br
Seg Dez 9 16:54:13 -03 2019
Não.
Diferente do que observei no link do manual, só funcionou quando concatei
tudo.
Experimentei as formas ? (que deveriam ser usadas para queries
parametrizadas) e a outra forma %s
Eu atualizei o script, dá uma olhada:
https://pastebin.com/eSJvCCgk
A única coisa que achei osso foi tratar o resultado dos dados como array e
acessá-los pela sua posição ordinal, assim:
1. try:
2. con = fdb.connect(dsn=con_dsn, user=con_user, password=
con_password)
3. cur = con.cursor()
4. st = con.cursor()
5. select = \
6. 'SELECT a.SEC$USER_NAME FROM SEC$USERS a\
7. WHERE a.SEC$USER_NAME NOT IN(\
8. SELECT SEC$USER_NAME FROM SEC$USERS\
9. WHERE SEC$USER_NAME LIKE \'SYSDBA\') \
10. AND a.SEC$USER_NAME NOT IN (\
11. SELECT SEC$USER_NAME FROM SEC$USERS\
12. WHERE SEC$USER_NAME LIKE \'RDB$%\')\
13. AND a.SEC$USER_NAME NOT IN (\
14. SELECT SEC$USER_NAME FROM SEC$USERS\
15. WHERE SEC$USER_NAME LIKE \'SYS_%\')\
16. AND a.SEC$USER_NAME NOT IN (\
17. SELECT SEC$USER_NAME FROM SEC$USERS\
18. WHERE SEC$USER_NAME LIKE \'REPL_%\')'
19. cur.execute(select)
20. *records = cur.fetchall()*
21. * for row in records:*
22. * db_username = row[0].strip()*
23. * sql_change_password = "ALTER USER " + db_username + "
PASSWORD '" + set_password + "';"*
24. * st.execute(sql_change_password)*
25. * print('Usuario:', db_username, 'teve sua senha resetada
para', set_password)*
26. con.commit()
27. print('Sucesso ao resetar senhas em', con_dsn, 'para',
set_password)
28. result_value = True
29. except Exception as e:
30. print('\n')
31. print(str(e))
32. result_value = False
33.
34. return result_value
De resto, o script ficou agora completo, com o restore e tudo mais.
Se quiser fazer uma sugestão para mudar, serei grato, assim eu aposento o
certificado de 'larva' para ganhar o certificado 'gafanhoto' em python.
Mais detalhes sobre a lista de discussão lista