Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

ORA-02074: cannot SET NLS in a distributed transaction

Ao executar uma procedure pelo qlikview acontece o erro ORA-02074: cannot SET NLS in a distributed transaction. Alguém já passou por isto?

8 Replies
marcelvinicius
Creator III
Creator III

Boa tarde Amigo,

Está parecendo um erro genérico na configuração do banco de dados (alguma atualização ou utilização da fonte de dados - acredito que seu BD é oracle não?).

Verificar a conexão e se possível testar a procedure em seu ambiente interno primeiro para verificar se estão retornando informações.

Atenciosamente,

Not applicable
Author

No ambiente interno funciona perfeitamente. Somente quando a procedure é chamada dentro do qlikview

marcelvinicius
Creator III
Creator III

Boa tarde amigo,

Você instanciou o banco de dados na chamada?

Não sei se tem diferença entre o QlikView para o Sense, eu uso sense e para retorno rodei assim:

LIB CONNECT TO '182.198.1.0;

ExecuteProcedure:

SQL Execute dbo.NomeProcedure '1', '1', '$(vrDataIni)','$(vrDataFim)';

E recupero assim:

RecebeProcedure:

SQL SELECT * FROM ##GetNomeProcedure

Espero ter ajudado de alguma forma.

Atenciosamente.

Not applicable
Author

Estou utilizando o seguinte comando:

LOAD

*;

SQL CALL OP_INFORMACOES_GERENCIAIS.sp_cirurgias();

marcelvinicius
Creator III
Creator III

Bom dia amigo Renato, como vai?

SQL CALL OP_INFORMACOES_GERENCIAIS.sp_cirurgias();

Não tem parâmetro?

Tentou executar sem ()?

Tente trocar o call por execute por gentileza.


Atenciosamente.

Not applicable
Author

Bom dia!

Retornou o erro:

ErrorSource: OraOLEDB, ErrorMsg: ORA-00900: invalid SQL statement

SQL EXECUTE OP_INFORMACOES_GERENCIAIS.sp_cirurgias

marcelvinicius
Creator III
Creator III

Pelo que vi, ele não entende o comando execute, então seria o call mesmo, desculpe;

Você verificou se na tela que esta chamando possui uma conexão com o seu banco?

oracle.png

Se sim, não sei mais como lhe ajudar, pois meu BD é SQL e não tenho muito conhecimento em Oracle.

Att

Not applicable
Author

Sim! A string de conexão é a seguinte abaixo:

OLEDB CONNECT32 TO [Provider=OraOLEDB.Oracle.1;Persist Security Info=True;User ID=banco_dev;Data Source=PS;Extended Properties=""] (XPassword is SPHAQXBOJTbMWTVMSLaA);