Permissões sobre BD e tabelas

DBA Geral (instalação, configuração do banco, scripts do Sql*Plus, shell scripts, batch scripts, etc...)
Responder
MarioMedeiros
Rank: Programador Júnior
Rank: Programador Júnior
Mensagens: 15
Registrado em: Sex, 15 Jun 2018 7:22 pm

Bom dia pessoal, conheço o básico do Oracle, agora tenho uma tarefa de migrar de Access e VB6
para Oracle com Vb6, já entregaram-me o banco migrado para tratar os erros de aplicação, até aí tudo bem.
Ocorre que algumas rotinas estão gerando erros, e comparadas com outros clientes já rodam Oracle estão 100% iguais.
Os comandos a serem executados são:
Em Access :

Selecionar tudo

            SnExG.Edit
            SnExG("cl_flg_tr") = False
            SnExG("cl_auxd") = Mid(GdUsuario, 1, 14)
            SnExG("cl_dt_ua") = Format(Now, "dd/mm/yyyy")
            SnExG.Update
            SnExG.Close
O comando executado desta forma retorna a seguinte mensagem:

Selecionar tudo

           " Can't update. Database or object is read-only " indicando que a tabela esta apenas para leitura
Em outras tabelas erro identico mudei a sintaxe para :

Selecionar tudo

            Sql = "UPDATE GT_CLI SET  GT_CLI.CL_FLG_TR = FALSE, GT_CLI.CL_AUXD = '" & Mid(GdUsuario, 1, 14) & "', 
                            & "CL_DT_UA = '" & Format(Now, "dd/mm/yyyy") & "' " _
                            & "WHERE CL_CGC = '" & TxtRCgc.Text & "';"
            db.Execute (Sql)
Passou, resolvido o problema.
Mas tem uma tabela que não esta permitindo executar os mesmos exemplos acima, para o 1o exemplo retorna erro read-only, para o 2o. exemplo retorna erro " operation must use an updatable query ", se entendi, é o mesmo erro só que de forma diferente, uma vez que estou "querendo" atualizar algo.

Onde posso verificar se as permissões estão corretas, o acesso ao banco é via SqlDeveloper versao 17.4.1.054 e build 054.0712.

Já fiz via developer botão direito sobre a tabela privilégios, identifiquei usuário de acesso ao banco marquei todos os direitos, indica que o comando foi executado com exito, mas ao executar aplicação o erro se repete, voltando com botão direito os privilégios estão em branco novamente.

está meio cabuloso, desde já agradeço a ajuda, e uma ótima semana a todos.
Avatar do usuário
adrianoturbo
Moderador
Moderador
Mensagens: 393
Registrado em: Qui, 20 Mar 2008 4:09 pm
Localização: Brasília
Adriano Alves
---Para cada problema dificil existe uma solução simples.----

Brother ,sugiro que dê um grant com usuário sys ou system para na tabela que precisa apontando para o usuário que está utilizando,para conseguir utilizar as quatro operações.

Selecionar tudo

GRANT SELECT, INSERT, UPDATE, DELETE ON suatabela TO seuusuário;

Agora caso queira radicalizar e ter todos os privilégios de todos os objetos ,basta fazer isso :

Selecionar tudo

grant all privileges to seuusuário identified by suasenha;
Bom é isso,espero ter ajudado.
MarioMedeiros
Rank: Programador Júnior
Rank: Programador Júnior
Mensagens: 15
Registrado em: Sex, 15 Jun 2018 7:22 pm

Boa tarde, obrigado, irei fazer os testes e informo o resultado.

Att.
MarioMedeiros
Rank: Programador Júnior
Rank: Programador Júnior
Mensagens: 15
Registrado em: Sex, 15 Jun 2018 7:22 pm

Boa tarde a todos, muito obrigado pelas informações, com este comandos foi possível identificar real situação das tabelas, a situação desta tabela especifica, foi que no momento em que fizeram a conversão do banco, e migraram as tabelas, esta especificamente não foi criada a primary key, com isto todas as consultas passavam, mas update ou insert não. Foi a falta da chave principal, e com estes comandos citados conseguimos identificar o erro.


Muito obrigado.

Abraço.
Responder
  • Informação
  • Quem está online

    Usuários navegando neste fórum: Nenhum usuário registrado e 8 visitantes