oracle 10 g xe служба Lsnrctlr и ошибка ora-12519 - PullRequest
0 голосов
/ 27 февраля 2012

Установлено 10g xe в окне 7. Я новичок в jdbc и 10g xe. при тестировании с простой программой для соединения с jdbc все работало нормально, но когда я попробовал его с приложением для сохранения некоторых данных в базе данных, выдает ошибку: ORA-12519: TNS: не найден соответствующий обработчик службы. Когда я покопался в интернете, я обнаружил, что может быть какая-то проблема со службой lsnrctlr. Я просмотрел другие посты на этом сайте, связанные с ошибкой ora-12519. Но это не помогло решить проблему. Пожалуйста, помогите. Следующий код работал правильно. без каких-либо ошибок или исключений.

   import  java.sql.*;
   public class OracleThinConnection {
   public static void main(String args[]) {
     try {
       Class.forName("oracle.jdbc.driver.OracleDriver");
       Connection con = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe","SYSTEM","tiger");
       Statement stmt = con.createStatement ();
       ResultSet rset = stmt.executeQuery ("SELECT * FROM emp");
       while (rset.next ())
       System.out.println (rset.getString (1));
       rset.close();
       stmt.close();
       con.close();
       System.out.println("Connected Successfully To Oracle");
      }
     catch(Exception ex) {
    ex.printStackTrace();
    }
   }
  }

но когда я выполняю следующий код, он показывает ошибку ora-12519

   try{
    Class.forName("oracle.jdbc.driver.OracleDriver");
        Connection con = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe","SYSTEM","tiger");
       Statement s = con.createStatement ();
   String str1=" create table " + s2.charAt(0) + "drive(fname varchar(256), fpath varchar(256), modifiedtime date,accesstime date,creationtime date,fsize numeric(20,0),owner varchar(256))"; //s2 is the drive name
   System.out.println(str1);
   s.execute(str1); 
   s.close();
   con.close();
    funInsertion(f[i],s2.charAt(0)+"drive"); // this function does the job of inserting the files in the drive to the corresponding drive table
     }
 catch(Exception e){ System.out.println("exception " +e);} 
  }

funInsertion () выглядит следующим образом

 public void funInsertion(File f,String s1){
 String skip="";
 try{
 if(f.isDirectory()){
 dir++;
 File [] fi=f.listFiles();
 for(int i=0;i<fi.length;i++){
    if(fi[i].getName().equals("Program Files")){
       skip=fi[i].getParent();
       break;
      }

}
  for(int i=0;i<fi.length;i++){
    if(fi[i].getAbsolutePath().equals(skip)){}
  else
      funInsertion(fi[i],s1); 
   }
  }
  else{
    if(f.getAbsolutePath().equals(skip)){}
 else{
     files++;
  Path file = Paths.get(f.getAbsolutePath());                                 
      BasicFileAttributes attrs = Files.readAttributes(file, BasicFileAttributes.class); 
    try{
     Class.forName("oracle.jdbc.driver.OracleDriver");
         Connection con = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe","SYSTEM","tiger");
        Statement s = con.createStatement ();
    s.execute("insert into " + s1 + " values('" + f.getName() + "','" + f.getAbsolutePath() + "','"+attrs.lastModifiedTime()+"','"+attrs.lastAccessTime()+"','"+attrs.creationTime()+"','"+attrs.size()+"','"+Files.getOwner(f.toPath())+"')");

    s.close();
    con.close();
     } 
         catch(Exception e){ System.out.println("exception " +e);}
     }
    }
  }
   catch(Exception e){
 }
}

когда я выписался, сервис lsnrctlr показывает следующее сообщение enter image description here

...