SQL-Befehle lassen sich nicht ausführen

aso7b71

Mitglied
Hi,

ich versuche via JAVA auf eine Datenbank zuzugreifen und der Verbindungsaufbau klappt auch soweit. Es ist möglich Metadaten der Datenbank anzufragen und auszugeben. Wenn ich jetz aber versuche auch nur einfache SQL-Befehle auszuführen läuft das Programm immer in einen Fehler. Kann mir jemand weiterhelfen und mir sagen was da die Ursache ist?

Gruß Robin


Java:
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package sqltest;
import java.net.*;
import java.io.*;
import java.sql.*;
import java.util.*;
import java.*;
/**
 *
 * @author robin
 */
public class Main
{

    /**
     * @param args the command line arguments
     */
    static private final int PORT = 5555;
     static private final String DATABASEPORT = "1433";
    static private final String DRIVER = "com.microsoft.sqlserver.jdbc.SQLServerDriver";//
    static private final String URL =    "jdbc:sqlserver://192.168.150.32:1433;databaseName=PV_Monitoring;selectMethod=cursor";
    static private final String SERVERNAME= "192.168.150.32";
    static private final String DATABASENAME = "PV_Monitoring";
    static private final String USERNAME =  "mentrup";
    static private final String PASSWORT = "*********?";
    static private final String SELECTMETHOD = "cursor";

    static private java.sql.Connection  con = null;
    static Statement stmt;
    static DatabaseMetaData meta;

    public static void main(String[] args)
    {
        initialisierungSQL();
       
        try
        {
            meta = con.getMetaData();
            System.out.println("Verbindung hergestellt zu Datenbank: "+meta.getDatabaseProductVersion());
            System.out.println("Verbindung hergestellt zu Datenbank: "+meta.getURL());
        }
        catch(Exception e)
        {
            System.err.println("ohoh");
        }
        datensatzSchreiben();
    }
    private static void initialisierungSQL()
    {
        //Erstellen der Verbindung zur Sql-Datenbank
        
        /*Alle Dezeit aktiven Treiber anzeigen
        for(Enumeration<Driver> e = DriverManager.getDrivers();e.hasMoreElements(); )
            System.out.println(e.nextElement().getClass().getName());*/
        try
        {
           //Informationsausgabe
            Class.forName(DRIVER);
            //DriverManager.setLogWriter(new PrintWriter(System.out));
            System.out.println("Microsoft Treiber geladen");
            try
            {
                con = DriverManager.getConnection(getConnectionUrl(), USERNAME, PASSWORT);
                if(con!=null) System.out.println("Verbdindung zu SQL-Server hergestellt");
            }
            catch(Exception e)
            {
                System.out.println(e+" \nTreiberfehler");
            }
        }
        catch(ClassNotFoundException e)
        {
            System.out.println("ERROR: Treiber konnte nicht geladen werden");
            e.printStackTrace();
            System.exit(1);
        }

    }
    private static String getConnectionUrl()
    {
       return URL+SERVERNAME+":"+DATABASEPORT+";databaseName="+DATABASENAME+";selectMethod="+SELECTMETHOD+";";
    }
    private static void datensatzHolen(String mac)
    {
        //Hier SQL Abfrage
        String query=("SELECT FROM Datensatz WHERE stringID LIKE 2");
        System.err.println("SQL-Abfrage ausgeführt");
        try
        {
            stmt = con.createStatement();
            ResultSet rs = stmt.executeQuery(query);
            
        }
        catch(Exception e)
        {
            System.err.println("SQL-Abfrage nicht ausführbar");
        }

        //if(mac==executeUpdate())
    }
    private static void datensatzSchreiben()
    {
        String query=("DROP TABLE Kunde");
        try
        {
            stmt.executeUpdate(query);
        }
        catch(Exception e)
        {
            System.err.println("SQL-Abfrage nicht ausführbar "+e.getMessage());
        }
    }

}
 

aso7b71

Mitglied
Hab ich probiert, aber ich bekomm immer n NULL zurück. Hab das gerade noch mal in ner SQLException gefangen, aber hat auch keinen unterschied gemacht. Den Fehler bekomm ich doch über getMessage(), oder? Hab aber auch SQLStatement ausprobiert und bleibt ein NULL. Was musst du noch wissen?

Gruß
 

XHelp

Top Contributor
Wo bekommst du null zurück? Mach einfach mal e.printStackTrace() im catch

Außerdem könnte es einfach mal ein Fehler im SQL sein, da es vermutlich
Code:
SELECT * FROM...
heißen sollte
 
Zuletzt bearbeitet:

aso7b71

Mitglied
java.lang.NullPointerException
at sqltest.Main.datensatzSchreiben(Main.java:110)
at sqltest.Main.main(Main.java:50)

Das bekomme ich von dem catch in der Methode datensatzSchreiben, die in main() aufgerufen wird. Ist aber glaub ich auch nich sehr aufschlussreich...
 

XHelp

Top Contributor
Natürlich ist es aufschlussreich: stmt ist null, denn du initialisierst es nur in der datensatzHolen-Methode, die du aber nie aufrufst.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
NIckbrick MySQL Befehle aus Datenbank auslesen Datenbankprogrammierung 21
S Java und SQL-Befehle Datenbankprogrammierung 6
R Java-Befehle/Operatoren für copy&paste Datenbankprogrammierung 2
J SQL-Statement Meine insert befehle funktionieren nicht und ich weiß nicht wo der fehler liegt Datenbankprogrammierung 5
K SQL Befehle über java Oberfläche Datenbankprogrammierung 4
C H2 H2 Befehle Datenbankprogrammierung 3
Meldanor Eingaben auf SQL Befehle überprüfen Datenbankprogrammierung 13
N Welche Befehle? Datenbankprogrammierung 4
C SQL Befehle ausführen und deren Ergebnisse verarbeiten Datenbankprogrammierung 3
M SQL-Befehle werden manchmal nicht komplett übermittelt Datenbankprogrammierung 5
V "Spezielle" SQL Befehle Datenbankprogrammierung 3
C hsqldb Befehle in Java Datenbankprogrammierung 19
OnDemand PgAdmin4 auf anderem Port laufen lassen? Datenbankprogrammierung 1
tom.j85 Objekt in OneToOne Beziehung über http request anzeigen lassen Datenbankprogrammierung 3
J Aufbau meiner Datenbank/Tabelle - Verbessern? So lassen? Datenbankprogrammierung 39
I Access Datenbank in Table einlesen lassen Datenbankprogrammierung 2
D Datenbank result als Auswahliste im GUI anzeigen lassen Datenbankprogrammierung 0
C Wert in SQL-Abfrage zählen lassen Datenbankprogrammierung 8
I Belastet es das System zu sehr einen Timer jede 0.2 Sekunden eine DB Abfrage machen zu lassen? Datenbankprogrammierung 9
F Wert des erzeugent Schlüssel ausgeben lassen Datenbankprogrammierung 2
F Wie kann man das mysql Command in java laufen lassen? Datenbankprogrammierung 14
Airwolf89 Spaltennamen einer Tabelle zurückgeben lassen Datenbankprogrammierung 9
A Hibernate hbm.xml Files generieren lassen Datenbankprogrammierung 9
C Erzeugten Schlüssel zurückgeben lassen (Hibernate) Datenbankprogrammierung 5
M Mit Java .txt-Datei in eine Datenbank einlesen lassen Datenbankprogrammierung 33
M Serverzeit geben lassen Datenbankprogrammierung 4
G Update Statement automatisch unterteilen lassen Datenbankprogrammierung 3
M Die ganze klasse als eigenen Thread laufen lassen Datenbankprogrammierung 3
H Sql Statements automatisch generieren lassen Datenbankprogrammierung 2
G Auslesen und in TextBox anzeigen lassen Datenbankprogrammierung 7
M Tablen auslesen und als Tree anzeigen lassen Datenbankprogrammierung 2
M Meine Datenbank lässt sich mit meiner Methode nicht ändern Datenbankprogrammierung 1
A Java DB Server lässt sich nicht starten Datenbankprogrammierung 3
Davee SQLite SQLite Datenbank lässt sich nicht auf anderen PCs öffnen Datenbankprogrammierung 8
A MySQL Parallel laufende EntityManager kommen sich in die Quere Datenbankprogrammierung 1
X Lohnt sich sqllite? Datenbankprogrammierung 5
DStrohma Kann sich jemand mal diese DB-Struktur ansehen? Datenbankprogrammierung 2
M Derby/JavaDB Neu geschriebener Eintrag per UPDATE lässt sich nicht unmittelbar abrufen Datenbankprogrammierung 2
M Designfrage zu Rows die sich auf einen Datensatz derselben Tabelle beziehen Datenbankprogrammierung 7
F [DB4O] Objekte sollen sich nicht verändern Datenbankprogrammierung 5
D MySQL Client - Server: Client verabschiedet sich sobald ich Variablen im SQL Statement verwende Datenbankprogrammierung 9
N Trennt sich die Verbindung zur DB (MySQL) automatisch? Datenbankprogrammierung 3
M Mysql hängt sich auf Datenbankprogrammierung 15
T MySQL: Join auf sich selbst schlägt fehlt Datenbankprogrammierung 3
V Welche Datenbank eignet sich? Pflegeaufwand? Datenbankprogrammierung 4
Saxony Benachrichtigung wenn sich Datenbank ändert Datenbankprogrammierung 10
G Zahlen sich stored Procedures wirklich aus? Datenbankprogrammierung 12
G SQLException: Lässt sich der Fehler feststellen? Datenbankprogrammierung 10
G Wie fragt man Bilder ab die sich in einer DB befinden?? Datenbankprogrammierung 2

Ähnliche Java Themen

Neue Themen


Oben