Olá,
preciso de uma ajuda referente a utilização de laços que executam query’s em tabelas de sessão (#) no SQL Server.
A aplicação ao ser acionada por um WebService cria uma conexão com o banco de dados SQL Server e cria as tabelas temporárias por sessão necessárias.
Em um determinado processo é necessário que duas query’s sejam abertas selecionando dados de duas tabelas temporária da sessão, este processo ocorre na mesma sessão, conforme código abaixo:
queryDataCodigos = "SELECT REGISTROANS," +
"VERSAOPADRAO " +
"FROM #TMP_CABECALHO " +
"WHERE CHAVE = ?";
queryCodigos = conn.prepareStatement(queryDataCodigos);
queryCodigos.setInt(1, chave);
resultSetCodigos = queryCodigos.executeQuery();
if(resultSetCodigos.next()){
if(status == 1){
queryDataCabecalho = "SELECT ORDEM," +
"CHAVE," +
"CODIGOERRO," +
"DESCRICAOERRO," +
"OBSERVACAO " +
"FROM #TMP_MENSAGENSDEERRO " +
"WHERE CHAVE = ?";
queryCabecalho = conn.prepareStatement(queryDataCabecalho);
queryCabecalho.setInt(1, chave);
resultSetCabecalho = queryCabecalho.executeQuery();
Ao executar a última linha apresentada a aplicação retorna erro informando que não encontrou o objeto #TMP_MENSAGENSDEERRO.
Só que realizando um close na queryCodigos antes de executar a segunda query o sistema executa sem erro a rotina.
Eu preciso realizar mais de uma consulta sem que as query’s sejam fechadas.
Alguém poderia me ajudar.
Obrigado e abraços