Warnung: Unable to resolve table 'users'

RezaScript

Bekanntes Mitglied
Hallo,

ich versuche grad MariaDB mit Intellij zum Laufen zu bringen.

Wenn ich String query = "SELECT * FROM users"; verwende, bekomme ich den Error:

Unable to resolve table 'users'

Ich benutze das Programm "HeidiSQL" mit folgenden Daten:
Hostname / IP: 127.0.0.1
Benutzername: root
Passwort: test

Wenn ich die Datenbank dann öffne, sehe ich die Tabelle "users".

Mit Intellij benutze ich exakt dieselben Zugangsdaten und die Verbindung scheint auch zu funktionieren aber die Tabelle "users" kann trotzdem nicht gefunden werden.

Was mache ich da genau falsch?

Mein ganzer Code sieht so aus:

Java:
package ch.yourclick.zt;

import java.sql.*;

public class Database {
    public static void main(String[] args) {
        // Ensure we have mariadb Driver in classpath

        try {
            Class.forName("org.mariadb.jdbc.Driver");
            // create our mysql database connection
            String host = "localhost:3306";
            String dbname = "zt_productions";
            String username = "root";
            String password = "test";
            String url = "jdbc:mariadb://" + host + "/" + dbname + "?user=" + username + "&password=" + password;

            Connection conn = DriverManager.getConnection(url);

            // our SQL SELECT query.
            String query = "SELECT * FROM users";

            System.out.println(query);

            // create the java statement
            Statement st = conn.createStatement();
            ResultSet execute = st.executeQuery(query);

            st.close();
        }
        catch (Exception e) {
            e.printStackTrace();
        }
    }

}
 

mihe7

Top Contributor
Seltsam. Ich habe es gerade mal ausprobiert. Die letzte MariaDB 10.3.14 installiert, Datenbank zt_productions mit Tabelle users angelegt, einen Satz eingefügt. Folgenden Code übersetzt, ausgeführt, liefert wie erwartet das Ergebnis...
Java:
import java.sql.*;

public class Test {
    public static void main(String[] args) throws Exception {
        String url = "jdbc:mariadb://maria:3306/zt_productions?user=root&password=test";
        String query = "SELECT * FROM users";

        try(Connection conn = DriverManager.getConnection(url);
            Statement stmt = conn.createStatement();
            ResultSet rs = stmt.executeQuery(query)) {
            while (rs.next()) {
                System.out.println(rs.getLong(1));
                System.out.println(rs.getString(2));
                System.out.println(rs.getString(3));
            }
        }
    }
}
 

RezaScript

Bekanntes Mitglied
Okay ich denke es liegt nicht am Code, sondern an Intellij.

Dein Code funktioniert so bei mir und die Werte in der Datenbank werden mir auch ausgegeben.

Ich dachte zuerst, dass ich die Tabelle users in einer falschen Datenbank abrufe. Das war auch so, denn zuerst war sie auf information_schema eingestellt und ich habe nun zt_productions ausgewählt (siehe Bild unten).

11877

Wenn ich nun auf "Run query in console" klicke, werden mir alle Werte der Tabelle ausgegeben aber weshalb auch immer ich diesen Error bekomme, verstehe ich nicht.
 

mrBrown

Super-Moderator
Mitarbeiter
Wenn ich nun auf "Run query in console" klicke, werden mir alle Werte der Tabelle ausgegeben aber weshalb auch immer ich diesen Error bekomme, verstehe ich nicht.

Welchen Error bekommst du denn noch?

Das erste Problem lag wohl daran, dass du nicht dein Java-Programm ausgeführt hast, sondern die Query direkt mit IntelliJ - richtige Tabelle auswählen, dann klappt das.

Das zweite, als du den Java-Code ausgeführt hast, lag daran das der Treiber fehlte - Treiber hinzufügen, dann klappt das auch (und natürlich den richtigen Server verwende, also localhost und nicht maria).
 

RezaScript

Bekanntes Mitglied
Die Fehlermeldung war (wie oben beschrieben):
Unable to resolve table 'users'

Ich habe keine Ahnung was ich genau gemacht habe aber nun scheint es zu funktionieren und die Fehlermeldung ist weg.

Vielleicht kann ich ungefähr beschreiben was ich gemacht habe:
  • users umbenennt in zt_productions.users
  • Mit dem Cursor auf zt_productions
  • Alt + Enter
  • Irgendwo dann auf Enter geklickt
Keine Ahnung was ich genau ausgewählt hatte und Ctrl + Z funktioniert auch nicht mehr, damit die Fehlermeldung wieder kommt. Schade, hätte mich noch interessiert aber gut, ist erledigt.

Nun muss es auch nicht mehr zt_productions.users heissen, sondern ich kann auch nur users verwenden. Die Fehlermeldung ist definitiv weg.
 

mrBrown

Super-Moderator
Mitarbeiter
Das was du ausgeführt hast, war nicht der Javacode (zumindest nicht in deinem Screenshot), sondern einfach die Query mit IntelliJ. Und wenn dort eine andere Datenbank ausgewählt ist, ist der Fehler vollkommen logisch.

Hast du überhaupt mal versucht, deinen Java-Code auszuführen?
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
paulen1 Best Practice "Unchecked Assignment" Warnung beim erstellen eines 2D Arrays of Arraylists Java Basics - Anfänger-Themen 2
R Warnung, wenn eine Variable eingegeben wird Java Basics - Anfänger-Themen 6
A Deadcode Warnung? Java Basics - Anfänger-Themen 4
S Warnung in Eclipse: unassigned closeable value Java Basics - Anfänger-Themen 20
Dit_ Compiler-Fehler Stringvariable ändern | Compiler warnung Java Basics - Anfänger-Themen 25
B Warnung : Dead Code. Aber wieso? Java Basics - Anfänger-Themen 10
A Variablen Type safety Warnung beseitigen Java Basics - Anfänger-Themen 3
T Liste Umformen ohne Warnung Java Basics - Anfänger-Themen 4
A Cast ohne Warnung bei Generics Java Basics - Anfänger-Themen 2
M Generics - "Unchecked cast"-Warnung wegbekommen Java Basics - Anfänger-Themen 4
O Warnung zu Generics (Java 1.6) Java Basics - Anfänger-Themen 6
C Unchecked Call? Wie Warnung beseitigen? Java Basics - Anfänger-Themen 3
S "Unchecked Cast" Warnung Java Basics - Anfänger-Themen 3
G Warnung bei abgeleiteter Klasse Java Basics - Anfänger-Themen 2
T Warnung bei LinkedList Java Basics - Anfänger-Themen 8
J Erste Schritte Unable to launch eclipse Java Basics - Anfänger-Themen 2
M Erste Schritte Java programm unable to access Java Basics - Anfänger-Themen 10
D JNLP - Unable to launch the application Java Basics - Anfänger-Themen 8
V Unable to find an ant file to run Java Basics - Anfänger-Themen 2
G FEHLER: the eclipse executable launcher was unable to. Java Basics - Anfänger-Themen 2
F JMF Unable to realize Java Basics - Anfänger-Themen 2
A Ant Problem: Unable to find a javac compiler; Java Basics - Anfänger-Themen 4
W Cannot resolve symbol 'HttpServlet' Java Basics - Anfänger-Themen 2
T resolve problem Java Basics - Anfänger-Themen 2
D JSP StringUtils cannot resolve Java Basics - Anfänger-Themen 5
A "Cannot resolve Symbol" obwohl die Klasse vorhande Java Basics - Anfänger-Themen 10
A cannot resolve symbol - woran kann das liegen? Java Basics - Anfänger-Themen 7
L cannot be applied und cannot resolve symbol Java Basics - Anfänger-Themen 3
U cannot resolve symbol Java Basics - Anfänger-Themen 2
A cannot resolve symb Java Basics - Anfänger-Themen 6
D Fehlermeldung cannot resolve symbol Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Neue Themen


Oben