Preciso identificar alguma maneira de certificar que meu grant foi aplicado com sucesso. É correto implementar o código abaixo? O executeUpdate me retorna a quantidade de registros ‘afetados’. No javadoc ta falando algo sobre insert, update … para grant´s será que não rola?
Resumindo: Se eu passar uma query (grant …) para um executeUpdate, vai funcionar? ta me retornando 0. Esse metodo só vai funcionar mesmo para insert, update e delete??? alguém mais experiente ae ou que já passou por isso. É que essa aplicação é feita via jdbc ‘ainda’… futuramente vou tirar isso para hibernate.
T
thingol
Pergunta boba número 1.
GRANT não é que exatamente retorne um número de registros modificados (OK, eu sei que ele internamente altera algumas tabelas do sistema). Por que é que você quer tal retorno de GRANT? GRANT não é uma query. Queries começam por SELECT.
Todos os exemplos que eu vi de executeUpdate com grant nem pegavam o tal número de registros modificados porque isso não fazia sentido.
Que eu saiba, você tem é de se preparar para uma SQLException que pode ser lançada se por acaso você não tiver as permissões adequadas para o GRANT. Mas você pode usar executeUpdate com GRANT sem problemas, só se lembrar que GRANT não é UPDATE e esse número não faz sentido com GRANT.
Rodrigo_Rocha_de_Mor
É como foi dito acima!
O GRANT não vai alterar o conteúdo de nenhum registro específico, logo o retorno será sempre 0…
O correto é vc testar no console do seu SGBD o comando para garantir que a sintaxe está correta e tratar o lançamento de Exception’s caso aglo dê errado em tempo de execução!
[]'s
Rodrigo_de_Mello
Thingol,
Eu quero me certificar que meu grant foi aplicado. Se eu tiver um erro de sintaxe por exemplo será lançada uma exception… ? fora isso deu td certo teoricamente?
Abs,
Obrigado pelas explicações. (Vou fazer alguns testes)