Java SQL “ERREUR: la Relation ”Table_Name“ n'existe pas”

J'essaie de connecter netbeans pour ma base de données postgresql. La connexion semble avoir fonctionné comme je ne reçois pas toutes les erreurs ou à des exceptions quand il vient à la connexion, les méthodes telles que getCatalog() retourne également les réponses correctes.

Mais lorsque j'essaie d'exécuter une simple instruction SQL, je reçois le message d'erreur "ERREUR: la relation "TABLE_NAME" n'existe pas", où TABLE_NAME est une de mes tables qui N'existent pas dans la base de données. Voici mon code:

    Statement stmt = con.createStatement();

    ResultSet rs;

    String query = "SELECT * FROM clients";

    rs = stmt.executeQuery(query);

Je pensais que netbeans est peut-être pas à trouver la table, car il ne regarde pas dans le schéma par défaut (public), est-il un moyen de définir le schéma en java?

EDIT: Mon code de connexion. Le nom de base de données est Cinemax, quand je quitte l'instruction code, je n'ai pas d'erreurs.

    String url = "jdbc:postgresql://localhost:5432/Cinemax";
    try{

    try {
        Class.forName("org.postgresql.Driver");
    } catch (ClassNotFoundException cnfe) {
        System.err.println("Couldn't find driver class:");
        cnfe.printStackTrace();
    }

    Connection con = DriverManager.getConnection( url,"postgres","desertrose147");
  • Ne pouvez-vous pas ré-écrire le sql de cette façon? SELECT * FROM <schem_name>.clients
  • Vous n'êtes pas en montrant comment vous connecter au serveur de base de données. Je soupçonne @CoolBeans est correct au-dessus ou très proche. Votre table est dans un schéma différent (ce qui permettra de corriger) ou dans une autre base de données que celle que vous spécifiez lors de la connexion.
  • J'adore... pourriez-vous nous montrer la VÉRITABLE erreur que vous avez? Je ne pense pas que la base de données est en train de dire "relation TABLE_NAME..." lorsque vous exécutez "select * from clients".
  • J'ai essayé, mais j'obtiens le même message d'erreur "erreur: la relation "public.les clients" n'existe pas" (de même pour tous les autres une de mes tables). le public est mon seul schéma, c'est donc aussi le schéma par défaut. Merci pour l'aide pour l'instant.
  • Ensemble log_min_duration_statement à 0 dans postgresql.conf, redémarrez la base de données, exécutez l'application et vérifiez dans le postgresql journaux de ce qu'est la véritable requête qui est envoyée à la base de données. Et encore une chose... êtes-vous sûr à 100% que vous avez la table là-bas? Pouvez-vous vous connecter à cette base de données à l'aide de psql/pgadmin et exécuter la requête?
InformationsquelleAutor Matt | 2011-04-23