Erreur communication Java Python
mamiemando Messages postés 33539 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 19 février 2025 - 2 juil. 2024 à 16:32
- Erreur communication Java Python
- Waptrick java football - Télécharger - Jeux vidéo
- Erreur 0x80070643 - Accueil - Windows
- Jeux java itel football - Télécharger - Jeux vidéo
- Java apk - Télécharger - Langages
- Erreur 0x80070643 Windows 10 : comment résoudre le problème de la mise à jour KB5001716 - Accueil - Windows
2 réponses
28 juin 2024 à 17:56
Bonjour
tout d'abord pour tes prochains posts, il faut faire comme décrit ici pour poster un code.
Je ne connais pas l'api interop pyhon en java, mais je doute fortement que directement dans une requête sql tu puisses utiliser une méthode qui s'appelle prochainerangee.
Si ça avait été nextrow, même si ça ne respecte ni les conventions de nommage Java, ni celles de Python, j'aurais hésité et n'aurais pas répondu.
Mais un méthode nommée en français, sans respect des conventions, il n'y a aucune chance que java sache s'en servir par magie.
A mon avis, tu dois faire en sorte d'appeller cette méthode pour extraire une ligne du fichier csv et la fournir en java à la requête sql.
Dans tous les cas, commence par vérifier que ton script pyhon fait ce qu'on lui demande en l'appelant en python et en printant les résultats
2 juil. 2024 à 16:32
Bonjour,
Si je m'en tiens au message d'erreur, le problème est dans la requête que tu passes à JDBC (le connecteur java pour interagir avec une base de données). Le message dit clairement qu'il y a une erreur de syntaxe.
Dans ton code java, cela correspond à la ligne :
String createTableSQL = "CREATE VIRTUAL TABLE weatherdatapython USING org.h2.api.Extension " + "AS SELECT * FROM SCRIPT('python3', ?)";
Je pense aussi que tu ne nous dit pas tout, car je ne vois pas comment ton code Java peut deviner quelle classe / méthode Python utiliser.
Hormis l'intérêt pédagogique, j'ai un peu de mal à comprendre l'intérêt de passer par python sachant que H2 sait déjà lire un fichier csv (mais je suppose que le but est d'apprendre à utiliser des virtual tables ?).
Enfin, sur quelle référence t'es-tu basé pour rédiger le code que tu proposes ? Est-ce que ce que tu appelles virtual table n'est pas plutôt une view (en SQL, tu peux effectivement définir une table virtuelle à l'aide de CREATE VIEW et définie par une requête SELECT.)
Bonne chance