Dúvida sobre múltiplas consultas batch em CallableStatement

0 respostas
diego_qmota

Gostaria de saber se têm como incluir várias consultas a STORED PROCEDURES diferentes em BATCH dentro de um CallableStatement??

Quando tento desta forma, só adiciona o último sql que foi incluído no batch:

CallableStatement csBatch;
String sql1 = "{ call Insercao_Empresa_Base_de_Empresas(?, ?, ?, ?, ?, ?) }";
String sql2 = "{ call Insercao_Empresa_Tratamento_IPF(?, ?) }";

// ... (código omitido por questões de clareza)

csBatch = getConexao().prepareCall(
                        sql1,
                        ResultSet.TYPE_FORWARD_ONLY,
                        ResultSet.CONCUR_READ_ONLY);
//...
csBatch.addBatch();

//....

csBatch = getConexao().prepareCall(
                        sql2,
                        ResultSet.TYPE_FORWARD_ONLY,
                        ResultSet.CONCUR_READ_ONLY);
//...
csBatch.addBatch();

//...

csBatch.executeBatch();    // executa a última STORED PROCEDURE

Tentei de outra forma, mas dá erro:

CallableStatement csBatch;
String sql1 = "{ call Insercao_Empresa_Base_de_Empresas(?, ?, ?, ?, ?, ?) }";
String sql2 = "{ call Insercao_Empresa_Tratamento_IPF(?, ?) }";

// ... (código omitido por questões de clareza)

csBatch = getConexao().prepareCall(
                        sql1,
                        ResultSet.TYPE_FORWARD_ONLY,
                        ResultSet.CONCUR_READ_ONLY);
//....
csBatch.addBatch();


//....


//...
csBatch.addBatch(sql2);

//...

csBatch.executeBatch();    //dá erro: java.sql.SQLException: Driver does not support this function- o erro se dá quando
                                       //tento adicionar a sql2 ao batch do CallableStatement

Ressaltando que em ambas as instruções estou configurando os parâmetros corretamente (apenas omiti estes trechos).

Grato desde já!

Criado 19 de agosto de 2009
Respostas 0
Participantes 1