Update Insert 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

Boa tarde a todos, temos uma aplicação em VB6 com BD Access, até aí tudo bem, ocorre que migramos para Oracle, após a migração feito os ajustes iniciais, esta ocorrendo não em tudo mas uma ou outra rotina os seguinte erro:

Selecionar tudo

Run-time error 3020; Update or CancelUpdate without AddNew or Edit
Para resolver o problema as linhas onde estava sendo inserido ou atualizado o registro, mudamos para insert e update direto "INSERT INTO TABELA ... ETC ... ", foi resolvido o problema mas ... gerou problema de lentidão, principalmente quando rotina de encerramento.
O que mais deixa intrigado é que outros clientes foram migrados e não precisou mudar nada, nem uma virgula.

Ai pode ser, versão do Odbc, release do oracle e por ai vai ...

Como não tenho conhecimento para tal, conto com ajuda de voces. ...

Obrigado.

Mário Medeiros
chunning
Rank: Programador Pleno
Rank: Programador Pleno
Mensagens: 41
Registrado em: Seg, 28 Mar 2011 11:39 am
Localização: Feliz - RS

Olá Mário
Não sou DBA, mas vai aí umas pequenas dicas. Quanto a lentidão, tens que avaliar a quantidade de registros na tabela e quais campos são index e como é populada a chave primária.
Quanto mais campos indexados tiver, mais demorada ficará qualquer operação DML.
Para a chave primária, o recomendado é usar SEQUENCE. Não sei se é teu caso.

Quanto a alguns clientes ocorrer erro e outros não, provavelmente entram configurações de Infra (versões de S.O, drivers JDBC, etc)

Se ainda não conseguiu resolver, coloca print dos erros e manda a estrutura da tabela.

Sds,
Avatar do usuário
dr_gori
Moderador
Moderador
Mensagens: 5024
Registrado em: Seg, 03 Mai 2004 3:08 pm
Localização: Portland, OR USA
Contato:
Thomas F. G

Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered

Como está sendo feito o INSERT?
Se possível postar o código daqui pra gente ver.
As vezes ta sendo feito inserts sem usar BINDS, daí você sobrecarrega o otimizador.
MarioMedeiros
Rank: Programador Júnior
Rank: Programador Júnior
Mensagens: 15
Registrado em: Sex, 15 Jun 2018 7:22 pm

Olá, boa noite a todos, desculpas aí por resposta tão atrasada, conseguimos resolver a questão atualizando versão do odbc, e quando a queda de desempenho foram processos iniciados quando da configuração do server que se mantiveram ativos, ai, conicidencia ou não, quando aplicação no vb6 iniciava o processo de insert ocorria a queda.

Muito obrigado, resolvido, e mais uma vez desculpas.
Responder
  • Informação
  • Quem está online

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