Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Ericsen

alter session e set transaction

Recommended Posts

Bom dia,Executo duas instruções numa base 9i.Nos servidores de desenvolvimento e homologação tudo 100%...Mas, qdo jogo para o servidor de produção ocorre o seguinte erro.ORA-01453: SET TRANSACTION must be first statement of transaction.As instruções que executo são as seguintes:ALTER SESSION SET NLS_DATE_FORMAT = 'YYYY-MM-DD HH24:MI:SS' NLS_NUMERIC_CHARACTERS = '.,' NLS_CALENDAR = 'GREGORIAN';SET TRANSACTION ISOLATION LEVEL READ COMMITTED;Eu entendo o erro 1453, mas até onde eu sei, ALTER SESSION não inicia uma transação, assim, o erro não deveria ocorrer. Alguma configuração na base pode ser responsável por esse erro?Grato,Ericsen

Compartilhar este post


Link para o post
Compartilhar em outros sites

Os comandos de ALTER SESSION e SET TRANSACTION estão no ínicio da procedure ou pacote?

 

Pois alguma coisa antes de chamar eles pode ter alterado o algum registro ou iniciado a transação com outros parâmetros!!

 

Abraços, http://forum.imasters.com.br/public/style_emoticons/default/devil.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Os comandos estão no início de uma transação...Não sou DBA, e acredito ser alguma configuração, pois executo da seguinte forma no SQL Plus e ocorre o mesmo erro...(rollback, alter session e set transaction)SQL> rollback;Rollback complete.SQL> ALTER SESSION SET NLS_DATE_FORMAT = 'YYYY-MM-DD HH24:MI:SS' NLS_NUMERIC_CHARACTERS = '.,' NLS_CALENDAR = 'GREGORIAN';Session altered.SQL> SET TRANSACTION ISOLATION LEVEL READ COMMITTED;SET TRANSACTION ISOLATION LEVEL READ COMMITTED*ERROR at line 1:ORA-01453: SET TRANSACTION must be first statement of transactionAlguma sugestão?[]s

Os comandos de ALTER SESSION e SET TRANSACTION estão no ínicio da procedure ou pacote? Pois alguma coisa antes de chamar eles pode ter alterado o algum registro ou iniciado a transação com outros parâmetros!! Abraços, http://forum.imasters.com.br/public/style_emoticons/default/devil.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você está querendo alterar os valores depois que iniciou uma transação?

 

Seguinte, testei aqui no SQL*PLUS e funcionou normal, porém, não executei nenhum DCL antes de configurar a sessão e transação, segue LOG:

 

SQL> SET TRANSACTION ISOLATION LEVEL READ COMMITTED;Transaction set.SQL> ALTER SESSION SET NLS_DATE_FORMAT = 'YYYY-MM-DD HH24:MI:SS' NLS_NUMERIC_CHARACTERS = '.,' NLS_CALENDAR = 'GREGORIAN';Session altered.SQL>

Depois começei a realizar a tarefas normalmente... DCL (Commit ou Rollback)!

 

Abraços, B)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Nessa ordem q você executou ele funciona normalmente...Meu principal problema é q estas instruções estão em um produto fechado, q não consigo alterar a ordem...Esse produto já é usado em vários clientes, e nesta base ORACLE está ocorrendo esse erro.Por isso a minha necessidade de descobrir o que há de peculiar nesse base...Grato pela atenção...

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.