Установлено 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 показывает следующее сообщение