VB6 - erro na query em um programa cujo fonte não funcionava

Oracle

VB

09/01/2020

Saudações, Devs

Tenho um programa em vb6 que sempre funcionou e, de repente, deu esse erro no oracle ORA-00936: expressão não encontrada. Existe outra parte do programa em que o erro apresentado é Run-time error 3704: Operação não permitida quando o objeto está fechado.

Sem debugar o código, que o desenvolvedor saiu sem conseguir fazer funcionar, imagino que o usuário entrou com algum caractere maluco ou a query ficou muito grande dando o erro no Oracle.

Meu plano é, caso não consiga fazer o programa funcionar na minha máquina é tentar simular a query. Isso, enquanto o dia não vira e o programa volte a funcionar.
Fernando Junior

Fernando Junior

Curtidas 0

Melhor post

Luiz Santos

Luiz Santos

10/01/2020

Boa tarde Fernando.
Vamos por partes.
E tentar lembrar como o VB funciona...rs

Bom, o erro do ORACLE quer dizer que o comando / query está com alguma coisa errada.
Pode ser o que vc falou, o usuário entrou com um caractere errado, ou, por exemplo, vc tem uma query montada dinamicamente, onde o VB vai montando ela pra vc (colocando os campos e respectivos valores, por exemplo).
Ai em um dos valores ele não retorna nada, vc fica com algo como SELECT campo1, , campo3 FROM tabela. Isso causaria o erro.

O segundo erro, do VB, tem a ver com o seu objeto de conexão.
Ele parece ter sido fechado, e vc está tentado usá-lo.

Você vai precisar debugar esse código para tentar achar o local específico do erro.

Espero ter ajudado.

Grande abraço
GOSTEI 1

Mais Respostas

Fernando Junior

Fernando Junior

09/01/2020

Boa tarde Fernando.
Vamos por partes.
E tentar lembrar como o VB funciona...rs

Bom, o erro do ORACLE quer dizer que o comando / query está com alguma coisa errada.
Pode ser o que vc falou, o usuário entrou com um caractere errado, ou, por exemplo, vc tem uma query montada dinamicamente, onde o VB vai montando ela pra vc (colocando os campos e respectivos valores, por exemplo).
Ai em um dos valores ele não retorna nada, vc fica com algo como SELECT campo1, , campo3 FROM tabela. Isso causaria o erro.

O segundo erro, do VB, tem a ver com o seu objeto de conexão.
Ele parece ter sido fechado, e vc está tentado usá-lo.

Você vai precisar debugar esse código para tentar achar o local específico do erro.

Espero ter ajudado.

Grande abraço


O problema é que eu não tenho o fonte. Estava pensando em acionar o dba para monitorar a execução do programa e verificar se ele mostra a query mal sucedida. Então eu solicitaria uma autorização da área usuária para fazer uma intervenção na base de dados para corrigir esse problema que ocorreu apenas com uma matrícula, mas com a minha o problema não acontece.
GOSTEI 0
POSTAR