erste Ausnahme: Der Netzwerkadapter konnte nicht hergestellt die Verbindung in einfachen jdbc-Programm

Ich versuchte, führen Sie eine einfache jdbc-code [ mit dem jdk 1.6, oracle 10g],

package javaapplication2;
import java.text.*;
import java.sql.*;
import java.io.FileWriter;
import java.io.PrintWriter;
import java.io.BufferedWriter;
/**
 * @author animark
 */
public class CallableStatementEx1 {
    public CallableStatementEx1(){;}

public static void main(String s[]) throws Exception {
    try
    {
        Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
        Connection con=null;
        String url= "jdbc:oracle:thin:@//localhost:1521:orcl" ;   
        con = DriverManager.getConnection(url,"scott","password");

        String query="update emp set HIREDATE=?,ENAME=? where empno=?";

        //Step1: Get PreparedStatement
        PreparedStatement ps=con.prepareStatement(query);

        //Prepare java.sql.Date object
        /*
        This logic shows how to convert simple String that is in 
        dd-MM-yyyy format into Date object
        */
        SimpleDateFormat sdf=new SimpleDateFormat("dd-MM-yyyy");
        java.util.Date d=sdf.parse("26-12-2001");
        java.sql.Date newdate=new java.sql.Date(d.getTime());

        //Step2: set parameters
        ps.setDate(1,newdate);
        ps.setString(2,"animark");
        ps.setInt(3,7839);

        //Step3: execute the query
        int i=ps.executeUpdate();

        System.out.println("record updated count: "+i);
        con.close();
    }
    catch(Exception e)
    {
                    e.printStackTrace();

    }
    }//main
}//class

Der code wird immer kompiliert einwandfrei. Aber wenn ich versuche es zu starten, ich bekomme die folgende exception..

java.sql.SQLException: Io exception: The Network Adapter could not establish the connection
    at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)
    at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:146)
    at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:255)
    at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:387)
    at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:414)
    at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:165)
    at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:35)
    at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:801)
    at java.sql.DriverManager.getConnection(Unknown Source)
    at java.sql.DriverManager.getConnection(Unknown Source)
    at javaapplication2.CallableStatementEx1.main(CallableStatementEx1.java:19)

Ich habe die oracle-Dienste und alle von Ihnen sind in Betrieb.

Bitte auch, finde den Inhalt von anderen Dateien als

=================================================================================
tnsnames.ora:

# tnsnames.ora Network Configuration File: C:\oraclexe\app\oracle\product\10.2.0\server\BIN\network\admin\tnsnames.ora
# Generated by Oracle configuration tools.

ORCL =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = orcl)
    )
  )

EXTPROC_CONNECTION_DATA =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
    )
    (CONNECT_DATA =
      (SID = PLSExtProc)
      (PRESENTATION = RO)
    )
  )

====================================================================================

sqlnet.ora


# sqlnet.ora Network Configuration File: C:\oraclexe\app\oracle\product\10.2.0\server\BIN\network\admin\sqlnet.ora
# Generated by Oracle configuration tools.

# This file is actually generated by netca. But if customers choose to 
# install "Software Only", this file wont exist and without the native 
# authentication, they will not be able to connect to the database on NT.

SQLNET.AUTHENTICATION_SERVICES= (NTS)

NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)
================================================================================

# listener.ora Network Configuration File: C:\oraclexe\app\oracle\product\10.2.0\server\BIN\network\admin\listener.ora
# Generated by Oracle configuration tools.

SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = PLSExtProc)
      (ORACLE_HOME = C:\oraclexe\app\oracle\product\10.2.0\server\BIN)
      (PROGRAM = extproc)
    )
  )

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
      (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
    )
  )

===============================================================================

Ich bin in der Lage, eine Verbindung zu der Instanz "orcl" Anmeldeinformationen "scott/Kennwort", aber wenn ich versuche zum herstellen einer Verbindung mithilfe Anweisung

SQL - > connect sys/Passwort@orcl as sysdba

Ich bin immer folgende Fehlermeldung..
ORA-12514: TNS:listener, die derzeit nicht wissen, von den angeforderten Dienstleistungen in Verbindung

Deskriptor.

Habe ich auch laufen LSNRCTL für orcl und fand

LSNRCTL für 32-bit Windows: Version 10.2.0.1.0 - Production on 22-JUL-2012 13:42:30

Copyright (c) 1991, 2005, Oracle. Alle Rechte vorbehalten.

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=1521))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=orcl)))
Services Summary...
Service "PLSExtProc" has 1 instance(s).
  Instance "PLSExtProc", status UNKNOWN, has 1 handler(s) for this service...
    Handler(s):
      "DEDICATED" established:0 refused:0
         LOCAL SERVER
The command completed successfully

Bitte helfen Sie mir, wenn ich mache etwas falsch hier.

möglich, Duplikat der ORACLE : E / a-Ausnahme: Der Netzwerkadapter konnte nicht hergestellt die Verbindung
Die Ausgabe von lsnrctl scheint zu zeigen, dass es nicht "orcl". Vielleicht ist eine bessere Frage für Serverfault (mehr Oracle-administration dann die Programmierung bezogen).
Vielen Dank für Ihre Antwort. Auf die 4 Punkte in der Antwort auf die genannte Frage, bitte meine Kommentare. Es ist ein lokal host, also ich denke 1 und 2 sind hier nicht erforderlich. 3, ich habe schon versucht, die Verbindung zu orcl, die mit sql-plus und habe erfolgreich verbunden ist, können mithilfe der Anmeldeinformationen "scott/Passwort", scheiterte aber mit "sys/Passwort". Für 4, Seine Lokale host, so ist es erforderlich zu prüfen? Auch wenn es ist,bitte helfen Sie mir mit ein wenig mehr details, wie ich überprüfen kann, dass.
aber die tnsora zeigt, dass es nur eine Instanz mit service als "orcl"...
Eine schnelle Hilfe ist wirklich willkommen, da die ganze Arbeit hängengeblieben ist. Vielen Dank im Voraus für Ihre freundliche Unterstützung.

InformationsquelleAutor animark | 2012-07-22

Schreibe einen Kommentar