2017-05-04 1 views
1

Je travaille avec iReport 5.6.0 pour créer des modèles de rapport. J'ai un problème en essayant de récupérer certaines données de la base de données. Le SGBD est Informix et la procédure que je fais est la suivante:Erreur iReport SQLException: base de données non encore sélectionnée

1. Ajoutez le pilote JDBC Informix que j'ai téléchargé à partir Maven Central (com.ibm.informix:jdbc)

2. Créer une source de données avec le pilote et l'URL de JDBC. Testez la connexion et il est réussi

3. Dans la fenêtre requête Signaler J'écris une requête et dans le volet de résultat (en bas) je reçois et l'erreur que vous pouvez voir dans l'image ci-dessous

iReport Report query

Est-ce qu'il me manque quelque chose ici? Où devrais-je regarder? Comme je l'ai dit, le test de connexion à la base de données est réussi.

Merci d'avance pour vos réponses.

+1

Vous avez probablement besoin de spécifier le nom de base de données dans le cadre de la chaîne de connexion. Je pense que vous vous êtes connecté au serveur, mais le serveur gère un certain nombre de bases de données et vous devez spécifier celui auquel vous vous connectez. Vous devrez peut-être ajouter quelque chose comme ': database = stores' à la chaîne de connexion, après la partie' jdbc', afin de vous connecter à la base de données 'stores' - fournissez ici votre propre nom de base de données. Vous devez vérifier la syntaxe; Je n'ai pas beaucoup fait avec JDBC, mais il y a une chance décente que cela soit étroitement lié à votre problème. –

+1

Informix [Manuel JDBC - Connexion à la base de données] (https://www.ibm.com/support/knowledgecenter/SSGU8G_12.1.0/com.ibm.jdbc_pg.doc/ids_jdbc_032.htm). Le manuel dans son ensemble devrait aider; cette section semble appropriée. –

Répondre

0

Après avoir fait une recherche profonde dans le Informix JDBC documentation j'ai trouvé this section où j'ai trouvé la syntaxe correcte pour l'URL, qui est

jdbc:informix-sqli://<host>:<port>/<dbName>:INFORMIXSERVER=<serverName>;user=<username>;password=<password>

Auparavant, j'utilisais la syntaxe indiquée dans la capture d'écran ci-dessous et en fournissant des informations d'identification dans la boîte de dialogue au lieu de l'URL.

Informix Connection Example in iReport

Je ne sais pas pourquoi le test de connexion a réussi avec la syntaxe erronée. Peut-être que le test ne fait que piocher l'hôte et le port, sans vérifier les paramètres de connexion.

Espérons que cela aide quelqu'un. Meilleures salutations.

PS: Merci à l'utilisateur Jonathan Leffler, votre commentaire m'a aidé à trouver la solution