2017-07-24 3 views
0

rule for tcp port 1521 Ich versuche, ein Beispiel JDBC-Programm zu machen, die ich Tabelle erstellen muss, aber ich bin mit diesem Problem konfrontiert Ich habe versucht viele Lösung im Web alle ich muss kommen zu wissen, dass Service fehlt, aber keine genaue Lösung gefunden habe ich bin Anfänger in JDBC jede Hilfe wird geschätzt.Wie kann ich lösen-Orakel-11g-Xe mit Eklipse

Mein JDBC-Programm: -

import java.sql.*; 


public class JdbcExample { 

/** 
* @param args 
* @throws ClassNotFoundException 
* @throws SQLException 
*/ 
public static void main(String[] args) throws ClassNotFoundException, SQLException { 
    // TODO Auto-generated method stub 
    String userName="system",password="admin",url="jdbc:oracle:thin:localhost:1521:xe"; 
    Class.forName("oracle.jdbc.driver.OracleDriver"); 
    Connection con = DriverManager.getConnection(url, userName, password); 
    System.out.println(con); 
    Statement stmt = con.createStatement(); 
    System.out.println(stmt); 
    int b = stmt.executeUpdate("create table emp(eno number(5),name varchar2(20));"); 
    System.out.println("Table Created" + b); 
    //  if(b) 
    //  { 
    //   
    //  } 
    //  else 
    //   System.out.print("WTF"); 


} 

Mein LogCat: -

java.sql.SQLException: Io exception: Connection refused(DESCRIPTION=(TMP=)(VSNNUM=186646784)(ERR=12505)(ERROR_STACK=(ERROR=(CODE=12505)(EMFI=4)))) 
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134) 
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:179) 
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:333) 
at oracle.jdbc.driver.OracleConnection.<init>(OracleConnection.java:404) 
at oracle.jdbc.driver.OracleDriver.getConnectionInstance(OracleDriver.java:468) 
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:314) 
at java.sql.DriverManager.getConnection(Unknown Source) 
at java.sql.DriverManager.getConnection(Unknown Source) 
at JdbcExample.main(JdbcExample.java:19) 

Mein listener.ora

SID_LIST_LISTENER = (SID_LIST = 
(SID_DESC = 
    (SID_NAME = PLSExtProc) 
    (ORACLE_HOME = J:\app\oracle\product\11.2.0\server) 
    (PROGRAM = extproc) 
) 
(SID_DESC = 
    (SID_NAME = CLRExtProc) 
    (ORACLE_HOME = J:\app\oracle\product\11.2.0\server) 
    (PROGRAM = extproc) 
))LISTENER =(DESCRIPTION_LIST = 
(DESCRIPTION = 
    (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1)) 
    (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521)) 
))DEFAULT_SERVICE_LISTENER = (XE) 

Vielen Dank im Voraus. HINWEIS: Ich habe ojdbc14_g.jar Datei in meinem Buildconfig enthalten.

+0

Windows oder Linux? Unter Windows (alle Versionen) überprüfen Sie die Firewall-Konfiguration und erlauben TCP-Verbindungen zu Port 1521 – krokodilko

+0

Was ist mit Oracle SQL Developer oder TOAD? Wie sieht eine erfolgreiche Verbindungszeichenfolge in diesen Tools aus? –

+0

@krokodilko Ich versuchte, aber in demselben Fehler resultiert. –

Antwort

0

Versuchen von Wechsel:

"jdbc:oracle:thin:localhost:1521:xe" 

zu:

"jdbc:oracle:thin:@//localhost:1521/XE" 
+0

immer noch den gleichen Fehler –

0

Versuchen Sie JDBC-Verbindungszeichenfolge aus der folgenden Wechsel:

"jdbc:oracle:thin:localhost:1521:xe" 

auf die folgenden:

"jdbc:oracle:thin:@localhost:1521:xe" 

Sie müssen verstehen, wenn : und /, auf die Verwendung von SID oder Service-Namen basierend verwenden

INSTANCE SID by ":" 
jdbc:oracle:thin:@localhost:1521:SID 
SERVICE NAME by "/" 
jdbc:oracle:thin:@localhost:1521/SERVICE_NAME 

hoffe, das hilft!

+0

Vielen Dank @ N00b Pr0grammer für Ihre Zeit, aber immer noch gibt es mir gleichen Fehler. –

+0

Auch wenn ich URL wie 'jdbc geben: Orakel: Thin: @localhost: 1521/XE' zeigt es Invaid Connection String-Format –