lapartdombre | J'ai un problème avec un programme permettant de réaliser des requetes sur une table Oracle.
Mon erreur est la suivante
Code :
- java.sql.SQLException: Exception d'E/S: Software caused connection abort: socket write error
- at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:114)
- at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:156)
- at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:269)
- at oracle.jdbc.driver.OracleStatement.executeNonQuery(OracleStatement.java:1329)
- at oracle.jdbc.driver.OracleStatement.doExecuteOther(OracleStatement.java:1232)
- at oracle.jdbc.driver.OracleStatement.doExecuteWithBatch(OracleStatement.java:1353)
- at oracle.jdbc.driver.OracleStatement.doExecute(OracleStatement.java:1760)
- at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1805)
- at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:320)
- at oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:278)
- at IntegrationStdlist.listeRepertoire(IntegrationStdlist.java:111)
- at IntegrationStdlist.listeRepertoire(IntegrationStdlist.java:118)
- at IntegrationStdlist.main(IntegrationStdlist.java:146)
- Exception in thread "main"
|
Mon code est le suivant :
Code :
- public static void listeRepertoire ( File repertoire, Connection conn ) throws IOException, SQLException
- {
- String name;
- long taille;
- java.sql.Date date;
- java.util.Date date2;
- String chaine;
- // déclaration des variables
- ResultSet resultat = null;
- File file = null;
- FileInputStream fis = null;
- long fileLength;
- //System.out.println ( repertoire.getAbsolutePath());
- if ( repertoire.isDirectory ( ) )
- {
- File[] list = repertoire.listFiles();
- for ( int i = 0; i < list.length; i++)
- {
- name=list[i].getName();
- taille=list[i].length();
- date= new java.sql.Date(list[i].lastModified());
- date2=new Date(list[i].lastModified());
- chaine= date.toString();
- chaine =""+chaine.substring(8,10)+"/" + chaine.substring(5,7) +"/" + chaine.substring(0,4)+" " + date2.toString().substring(11,16) +"";
- String fileName = list[i].getAbsolutePath().replace('\\','/');
- if ( list[i].isFile ( ) )
- {System.out.println(fileName);
- java.sql.PreparedStatement ps2 = conn.prepareStatement("insert into BASEQ.BQ_STDLIST ( BASEQ.BQ_STDLIST.STD_CODE , BASEQ.BQ_STDLIST.STD_TAILLE , BASEQ.BQ_STDLIST.STD_DT_INT , BASEQ.BQ_STDLIST.STD_DOC)values( '"+name +"' ,"+taille +", TO_DATE('"+chaine+"','DD/MM/YYYY HH24:MI'),?) " );
- file = new File(fileName);
- fileLength = file.length();
- fis = new FileInputStream(file);
- // définition des variables dans la requete
- ps2.setBinaryStream(1, fis, (int)fileLength);
- System.out.println("avant execution" );
- ps2.executeQuery();
- System.out.println("execution" );
- ps2.close();
- fis.close();
- }
-
- listeRepertoire( list[i],conn);
- }
- }
- }
|
J'aimerai essayer de comprendre d'ou vient cette erreur et comment je peux faire pour la résoudre |