Salve a tutti,ho un programma Java che carica nel database di oracle,uno script di insert di 1.3GB,inserimenti gestiti tramite l'aggiunta batch,che prende 1000 istruzioni alla volta,le connessioni che creo con il database però,mi sembra di chiuderle tutte e non capisco come mai mi dia questo errore.
Come posso modificare il numero massimo di cursori che si possono aprire?
Il pezzo di codice che si occupa degli inserimenti è il seguente
Apparentemente mi sembra di chiudere tutto,grazie mille per le eventuali risposte!
Come posso modificare il numero massimo di cursori che si possono aprire?
Il pezzo di codice che si occupa degli inserimenti è il seguente
Codice:
public static void reader(){
FileReader temp;
BufferedReader brtemp;
String s;
StringBuffer sb = new StringBuffer();
try
{
temp = new FileReader("C:/Users/Mirko/Desktop/Script/temp.sql");
brtemp = new BufferedReader(temp);
while((s = brtemp.readLine()) != null)
{
sb.append(s);
}
//br.close();
// here is our splitter ! We use ";" as a delimiter for each request
// then we are sure to have well formed statements
String[] inst = sb.toString().split(";");
conn.setAutoCommit(false);
Statement st = conn.createStatement();
for(int i = 0; i<inst.length; i++)
{
// we ensure that there is no spaces before or after the request string
// in order to not execute empty statements
if(!inst[i].trim().equals(""))
{
st.addBatch(inst[i]);
//st.executeUpdate(inst[i]);
System.out.println(">>"+inst[i]);
}
}
st.executeBatch();
conn.commit();
st.close();
brtemp.close();
}
catch(Exception e)
{
System.out.println("*** Error : "+e.toString());
System.out.println("*** ");
System.out.println("*** Error : ");
e.printStackTrace();
System.out.println("################################################");
System.out.println(sb.toString());
}
}