Partage
  • Partager sur Facebook
  • Partager sur Twitter

[SQL/JDBC] Retourner un CURSOR exploitable par JAVA

ou l'équivalent d'un CURSOR

    30 novembre 2008 à 14:39:20

    Bonjour.

    Voilà mon problème.
    Un programme JAVA doit récupérer les informations d'un utilisateur, infos stockées dans une base de données SQL.

    J'ai donc écrit une procédure SQL qui permette de retourner ces infos :
    #obtenir les locations du client
    create or replace
    FUNCTION obtenirLocations(client VARCHAR2) RETURN CURSOR IS
    CURSOR cursLoc IS
    	SELECT Titre, dateLocation, dateRetour, NomClient, PrenomClient
    	FROM Location L, Exemplaire E, Film F, Client C
    	WHERE L.NumExemplaire = E.NumExemplaire
    	AND E.NumFilm = F.NumFilm
    	AND C.login = L.login
    	AND login = client;
    BEGIN
    	RETURN (cursLoc);
    END obtenirLocations;
    


    Le problème, c'est que le type CURSOR ne peut être renvoyer ainsi pour être ensuite exploiter par un programme Java.
    Ma question est donc : est-il possible de renvoyer ainsi un tableau comportant plusieurs colonnes et lignes résultats exploitables ensuite par java, et si oui, dans quel type stocker ce tableau (des pistes m'ont indiquées TABLE mais sans succès).

    Merci d'avance.
    • Partager sur Facebook
    • Partager sur Twitter
    Anonyme
      1 décembre 2008 à 20:57:02

      En général, à part dans des cas d'étranglement, on préfère exécuter le traitement de la requête depuis java et traiter son résultat ensuite.
      • Partager sur Facebook
      • Partager sur Twitter
        1 décembre 2008 à 22:15:12

        Ah bon? J'aurais plutot dit que dans la cas général, il vaut mieux utiliser des requêtes SQL pré-compilées au maximum, et récupérer le résultat en JAVA pour traitement.
        Cela pour des questions d'optimisation de temps d'exécution notamment. Non?
        • Partager sur Facebook
        • Partager sur Twitter

        [SQL/JDBC] Retourner un CURSOR exploitable par JAVA

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown