ich bin langsam am verzweifeln, ich hoffe mir kann jemand helfen
der MS SQL Treiber gibt eine Fehlermeldung aus:
SQL Fehler Ungültiger Objektname werkstattSQL.login.
die Datenbank auf dem Server heißt werkstattSQL, login ist eine Tabelle in der Datenbank.
aber selbst wenn ich den dbnamen weglasse(wie bei access), wird die tabelle login nicht erkannt.
Die Datenbank verbindung steht, habe ich da irgentwas vergessen ??? ich weiss nicht mehr weiter
GRuß
package bean;
import java.io.*;
import java.sql.*;
import javax.servlet.*;
public class Database_Bean {
private Connection con;
private String database;
Log_Bean log = new Log_Bean();
public Database_Bean() {
System.out.println("JDBC-Treiber laden und Verbindung aufbauen.");
try {
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
}
catch (Exception extr) {
log.writeerrorlog(1001, "Teiber wurde nicht gefunden: " +
extr, "Database_Bean/Database_Bean()");
return;
}
database = "werkstattSQL.";
try {
con = DriverManager.getConnection ("jdbc:microsoft:sqlserver://dbserver:1433;User=user;Password=pw");
log.writelog("DB-Verbindung erfolgreich aufgebaut");
} catch (SQLException excon) {
log.writeerrorlog(1002, "Verbindung konnte nicht aufgebaut
werden: "+ excon, "Database_Bean/Database_Bean()");
return;
}
}
public void destroy () {
// Verbindung wird abgebaut
System.out.println("Datenbankverbindung wird abgebaut.");
try {
con.close();
} catch (SQLException excondown) {
log.writeerrorlog(1003, "Verbindung konnte nicht getrennt
werden: "+ excondown, "Database_Bean/destroy()");
}
}
public boolean checkLogin(String username, String password) throws ServletException, IOException {
String query = "select upw from " + database + " login where uname ='user2'";
try {
Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery(query);
rs.next();
if(rs.getString("upw").equals(password)) {
stmt.close();
return true;
} else {
stmt.close();
return false;
}
} catch(SQLException sqlex) {
System.out.println("<B>SQLException doing query (chechLogin()): " +
sqlex + "</B>");
return false;
}
}
}