R
Rolf
Gast
Hi,
ich habe eine DB unter Access angelegt (EU). Dort ist eine Tabelle wormholes drin, mit ID, Bezeichnung, Eingang, Ausgang.
Habe diese unter Systemsteuerung->Verwaltung->ODBC auch eingebunden.
Wenn ich eine normale Klasse mit main-methode schreibe funktioniert das auch. Jedoch bei der Einbindung in nem Servlet gibs Probleme.
Fehlermeldung:
java.sql.SQLException: [Microsoft][ODBC Driver Manager] Der Datenquellenname wurde nicht gefunden, und es wurde kein Standardtreiber angegeben
Quellcode:
Wurmloch Klasse (Ausschnitte)
Servlet
Die Fehlermeldung an sich ist ja eindeutig.
Muss in das Tomcat Verzeichnis der Treiber für ODBC reingemacht werden? Wenn ja welcher wäre das und woher bekomme ich den?
Und warum findet er die Datenquelle nicht, obwohl sie bei ner normalen main method class gefunden wird, nur beim servlet nicht?
ich habe eine DB unter Access angelegt (EU). Dort ist eine Tabelle wormholes drin, mit ID, Bezeichnung, Eingang, Ausgang.
Habe diese unter Systemsteuerung->Verwaltung->ODBC auch eingebunden.
Wenn ich eine normale Klasse mit main-methode schreibe funktioniert das auch. Jedoch bei der Einbindung in nem Servlet gibs Probleme.
Fehlermeldung:
java.sql.SQLException: [Microsoft][ODBC Driver Manager] Der Datenquellenname wurde nicht gefunden, und es wurde kein Standardtreiber angegeben
Quellcode:
Wurmloch Klasse (Ausschnitte)
Code:
public Wurmloch(String id, String name, String eingang, String ausgang)
{
this.id = id;
this.name = name;
this.eingang = eingang;
this.ausgang = ausgang;
}
...
Connection con;
Statement st;
ResultSet rs;
...
public void add()
{
try
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}
catch(ClassNotFoundException e)
{
notFoundException = true;
notFoundExplanation = e;
}
try
{
con = DriverManager.getConnection("jdbc:odbc:EU");
st = con.createStatement();
st.executeUpdate("INSERT INTO wormholes VALUES ('"+id+"','"+name+"','"+eingang+"','"+ausgang+"')");
st.close();
con.close();
}
catch(SQLException e)
{
sqlexception = e;
}
}
Servlet
Code:
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
{
PrintWriter out = response.getWriter();
out.println("<html>");
out.println("<head>");
out.println("<title>Servlet</title>");
out.println("</head>");
out.println("<body>");
out.println("Eingetragenes Wurmloch:
");
Wurmloch a = new Wurmloch("6","6.tes","6","7");
out.println(a.id+"
");
out.println(a.name+"
");
out.println(a.eingang+"
");
out.println(a.ausgang+"
");
a.add();
if (a.notFoundException) out.println("ClassNotFound: "+a.notFoundExplanation);
out.println("SQLEXCEPTION IN ADD: "+a.sqlexception); <--- HIER der Fehler
out.println("</body>");
out.println("</html>");
out.close();
}
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
}
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
}
Die Fehlermeldung an sich ist ja eindeutig.
Muss in das Tomcat Verzeichnis der Treiber für ODBC reingemacht werden? Wenn ja welcher wäre das und woher bekomme ich den?
Und warum findet er die Datenquelle nicht, obwohl sie bei ner normalen main method class gefunden wird, nur beim servlet nicht?