java.lang.NoSchMethodError: oracle.i118n.text.converter.CharacterConverterOGS.getInstancec(I)Loracle/i18n/text/converter/ChatacterConverter;

Ok das problem hat, verblüfft mich völlig, und ich hoffe jemand hat eine Antwort bevor ich auf dieses Projekt komplett.

Im Grunde versuche ich, eine Verbindung von einer website verweist auf ein java-servlet(2.5) und von dort aus will ich mit JDBC eine Verbindung zu der DB.

Den Benutzer und das Passwort sind die DB-Referenzen.

Nun, wenn ich den gleichen dbconn-Datei mit einem java-Klasse (Druck-Erfolg auf der Konsole) alles funktioniert wie ein Charme, aber wenn ich versuche, das gleiche zu tun, mit dem servlet erzeugt es die Fehlermeldung, die man unten sehen kann.

HTTP ERROR 500

Problem accessing /ClassChat/LogonSRV. Reason:
  Server Error

Caused by:

java.lang.NoSchMethodError: oracle.i118n.text.converter.CharacterConverterOGS.getInstancec(I)Loracle/i18n/text/converter/ChatacterConverter;
      at oracle.sql.converter.CharacterConverterFactoryOGS.make(CharacterConverterFactoryOGS.java:43)
      at oracle.sql.CharacterSetWithConverter.getInstance(CharacterSetWithConverter.java:95)
      at oracle.sql.CharacterSetFactoryThin.make(CharacterSetFactoryThin.java:95)
  at oracle.sql.CharacterSet.make(CharacterSet.java:450)
  at oracle.jdbc.driver.DBConversion.init(DBConversion.java:151)
  at oracle.jdbc.driver.DBConversion.<init>(DBConversion.java:112)
  at oracle.jdbc.driver.T4CConection.connect(T4CConection.java:1075)
  at oracle.jdbc.driver.T4CConection.logon(T4CConection.java:301)
  at oracle.jdbc.driver.PhysicalConnection.<init>(T4CConection.java:221)
  at oracle.jdbc.driver.T4CConection.<init>(DBConversion.java:151)
  at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:32)
  at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:503)
  at java.sql.DriverManager.getConnection(DriverManager.java:664)
  at java.sql.DriverManager.getConnection(DriverManager.java:247)
  at bl.dbConn.getConnection(dbConn.java:32)
  at bl.Conny.Conns(Conny.java:30)
  at bl.LogonSRV.service(LogonSRV.java:26)
  at javax.servlet.http.HttpServlet.service(HttpServlet.java:848)
  at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:684)
  ....
  ....

einen link zu den vollständigen Fehler-Liste : http://i.stack.imgur.com/O9DrL.jpg

Ich angehängt habe die richtigen Gläser für die JDBC - & Servlets und versucht jeden trick im Buch einschließlich Aufruf einer regulären java-Klasse, die wiederum ruft die Verbindung.

Machen es einfacher den Fehler zu finden, hier ist der code, den ich verwende:

[Zeile 26 in der bl.LogonSRV] (die Zeile, die den Fehler produziert).

protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
  //Get the data from the jsp.
  String strUser = request.getParameter("username");
  String strPass = request.getParameter("password");

  //In case this is the first time the page is loading.
  if (strUser == null) {
    //Redirect to login page.
    request.getRequestDispatcher("Login.jsp").forward(request, response);
  } else {
    //Connect to the DB (the line producing the error).
    String Error = Conny.Conns(strUser, strPass);
    request.getRequestDispatcher("Success.jsp").forward(request, response);
  }
}

[Zeile 30 in bl.Conny] (die Zeile, die den Fehler produziert).

public static String Conns(String User, String Pass) {

  Connection conni = null;
  String Error = null;

  try {
    conni = dbConn.getInstance().getConnection(User, Pass);
  } catch (SQLException ex) {
    Error = "Error in connection"; 
  }

   return (Error)
}

[Zeile 32 in bl.dbConn] (die Zeile, die den Fehler produziert).

//Connect to the DB.
public Connection getConnection(String Username, String Password) throws SQLException {

  return (DriverManager.getConnection(SERVER_ADDRESS, Username, Password));

}

P. S. ich weiß, die Verbindung muss geschlossen werden, und das senden des Kennworts ist nicht sicher, aber zuerst will ich sehen, dass es funktioniert, und wie um diesen Fehler zu beheben.

  • Dies könnte helfen, stackoverflow.com/questions/12943379/...
  • setzen Sie Ihre stack-trace in der Frage statt der Verknüpfung aus, um eine image-Datei
  • Ich wünschte, ich könnte hinzufügen, das Bild aber, weil ich bin ein neuer user, die ich jetzt noch nicht.
  • fügen Sie den stack-trace als text, nicht als Bild
  • Ich fügte hinzu, die meisten davon als text, sondern zu sehen, die voller Fehler, den Sie haben, auf den link klicken
  • Ich sehe keine relevanten Antworten gibt.
  • Bitte überprüfen Sie Ihre Gläser - vor allem denjenigen, die durch den servlet-container (tomcat/lib) nicht übereinstimmende Treiber-Versionen wäre ein möglicher Grund.
  • Ich denke, diese Frage kann helfen, stackoverflow.com/questions/35186/... Auch versuchen, Ihren code ausführen von der Kommandozeile durch den Aufruf der Conny.Conns ("strUser", strPass) aus einer java-main-Methode. Im Prozess werden Sie genau herausfinden, welche Abhängigkeiten benötigt werden.
  • starten Sie den Anwendungsserver neu
  • Warum bist du nicht testen, die Error string zurückgegeben? Warum sind Sie auf einen Fehler, string, anstatt die Ausnahme gefangen werden byt der Anrufer? Einige schlechte Praxis hier.
  • hab dass selbe Ergebnis.
  • ich habe versucht, den regulären Weg, und nach Stunden von versuchen zum ermitteln der Fehler-das ist, wo ich geblieben bin.
  • Sie haben gerade doppelten unterschiedliche versionierte Oracle-JDBC-Treiber-JAR-Dateien in runtime-classpath Konflikt zueinander.
  • also, wie kann ich wo finden und zu beheben?
  • Es gibt zwei Tippfehler nur in der ersten Zeile des stacktrace (getInstancec() ... ChaTacterConverter). Warum?
  • Basco da kann ich nicht ein Bild posten, das ich im Grunde ein zweites mal eingegeben, die Fehlermeldung. Kein internet auf dem computer, ich-bin-Kodierung auf.
  • Einmal mehr: Suche alle Dateien ojdbc* in Ihrer Anwendung und container-Bibliotheken - wahrscheinlich hast du zwei verschiedene Versionen davon laufen rund um Konflikt.

Schreibe einen Kommentar