Ericsen 0 Denunciar post Postado Novembro 10, 2006 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
alphamek 2 Denunciar post Postado Novembro 14, 2006 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
Ericsen 0 Denunciar post Postado Novembro 14, 2006 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
alphamek 2 Denunciar post Postado Novembro 14, 2006 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
Ericsen 0 Denunciar post Postado Novembro 14, 2006 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