Hallo zusammen,
ich habe ein Problem, bei dem ich schon seit einigen Stunden davor sitze... .
Ich will mit einer Anwendung auf eine Tabelle innerhalb einer
SQL-Server-2005-Instanz zugreifen. Allerdings bekomme ich immer beim
Ausführen der Abfrage einen Block Fehler.
Eventuell habe ich etwas vergessen...?!
Auszug aus Klasse Main
[HIGHLIGHT="Java"]btCase.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
ResultSet rs = null;
DBConnection object = new DBConnection();
System.out.println(object);
String pSQL =
"USE ServerManagement GO SELECT SNM FROM dbo.ServerIdentification;";
object.DBOpen();
System.out.println("Jetzt kommt's...");
rs = object.DBExecute(pSQL);
System.out.println("?");
try {
String gateway = rs.getString("Gateway");
System.out.println(gateway);
} catch (SQLException ex) {
System.out.println("FEHLER3");
}
object.DBClose(rs);
}
});[/HIGHLIGHT]
Die ganzen sinnlosen System.out habe ich gemacht,
um zu sehen, wo genau er hängen bleibt.
Er gibt mir noch das "?" aus, danach kommen die Fehlermeldungen.
Auszug aus Klasse DBZugriff:
[HIGHLIGHT="Java"]public class DBConnection {
Connection con;
Statement stmt;
String user = "koppelmann";
String pwd = "xxxxxxxxxx";
public void DBOpen() {
try {
Class.forName("net.sourceforge.jtds.jdbc.Driver");
con =
DriverManager.getConnection(
"jdbc:jtds:sqlserver://KOPPELMANN:1433/ServerManagement",
user, pwd);
System.out.println("Datenbank wurde erfolgreich geoeffnet...");
} catch (Exception ex) {
System.err.println("FEHLER1");
}
}
public ResultSet DBExecute(String pSQL) {
String SQL = pSQL;
System.out.println(SQL);
ResultSet rs = null;
try {
stmt = con.createStatement();
rs = stmt.executeQuery(SQL);
} catch (SQLException ex) {
System.out.println("Fehler beim Ausführen der Abfrage...");
}
return rs;
}
public void DBClose(ResultSet rs) {
try {
con.close();
stmt.close();
rs.close();
System.out.println("Die Datenbank wurde erfolgreich geschlossen...");
} catch (SQLException ex) {
System.err.println("Fehler beim Schließen der Datenbank...");
}
}
}[/HIGHLIGHT]
Ausgabe:
?
Falls im Code kein Fehler sein sollte, viele mir nur noch ein Rechteproblem
innerhalb des SQL-Servers ein, obwohl ich eigentlich alle benötigten Rechte
für einen Zugriff auf den Endpunkt und die Datenbankobjekte habe... .
Ich hoffe jmd kann mir helfen
Vielen Dank schonmal
Grüße
Mundschuk
ich habe ein Problem, bei dem ich schon seit einigen Stunden davor sitze... .
Ich will mit einer Anwendung auf eine Tabelle innerhalb einer
SQL-Server-2005-Instanz zugreifen. Allerdings bekomme ich immer beim
Ausführen der Abfrage einen Block Fehler.
Eventuell habe ich etwas vergessen...?!
Auszug aus Klasse Main
[HIGHLIGHT="Java"]btCase.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
ResultSet rs = null;
DBConnection object = new DBConnection();
System.out.println(object);
String pSQL =
"USE ServerManagement GO SELECT SNM FROM dbo.ServerIdentification;";
object.DBOpen();
System.out.println("Jetzt kommt's...");
rs = object.DBExecute(pSQL);
System.out.println("?");
try {
String gateway = rs.getString("Gateway");
System.out.println(gateway);
} catch (SQLException ex) {
System.out.println("FEHLER3");
}
object.DBClose(rs);
}
});[/HIGHLIGHT]
Die ganzen sinnlosen System.out habe ich gemacht,
um zu sehen, wo genau er hängen bleibt.
Er gibt mir noch das "?" aus, danach kommen die Fehlermeldungen.
Auszug aus Klasse DBZugriff:
[HIGHLIGHT="Java"]public class DBConnection {
Connection con;
Statement stmt;
String user = "koppelmann";
String pwd = "xxxxxxxxxx";
public void DBOpen() {
try {
Class.forName("net.sourceforge.jtds.jdbc.Driver");
con =
DriverManager.getConnection(
"jdbc:jtds:sqlserver://KOPPELMANN:1433/ServerManagement",
user, pwd);
System.out.println("Datenbank wurde erfolgreich geoeffnet...");
} catch (Exception ex) {
System.err.println("FEHLER1");
}
}
public ResultSet DBExecute(String pSQL) {
String SQL = pSQL;
System.out.println(SQL);
ResultSet rs = null;
try {
stmt = con.createStatement();
rs = stmt.executeQuery(SQL);
} catch (SQLException ex) {
System.out.println("Fehler beim Ausführen der Abfrage...");
}
return rs;
}
public void DBClose(ResultSet rs) {
try {
con.close();
stmt.close();
rs.close();
System.out.println("Die Datenbank wurde erfolgreich geschlossen...");
} catch (SQLException ex) {
System.err.println("Fehler beim Schließen der Datenbank...");
}
}
}[/HIGHLIGHT]
Ausgabe:
Code:
DBConnection@14a9972
Datenbank wurde erfolgreich geoeffnet...
Jetzt kommt's...
USE ServerManagement GO SELECT SNM FROM dbo.ServerIdentification;
Fehler beim Ausführen der Abfrage...
Code:
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at GUI$2.actionPerformed(GUI.java:58)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed (Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed (Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
innerhalb des SQL-Servers ein, obwohl ich eigentlich alle benötigten Rechte
für einen Zugriff auf den Endpunkt und die Datenbankobjekte habe... .
Ich hoffe jmd kann mir helfen
Vielen Dank schonmal
Grüße
Mundschuk
Zuletzt bearbeitet von einem Moderator: