PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 2024 → insertion vue oracle
insertion vue oracle
Débuté par Thierry GARCIA, 13 avr. 2006 13:32 - 2 réponses
Posté le 13 avril 2006 - 13:32
en oracle ne sont apparement reconnues que les tables et non les vues.
Y a t-il une solution? acces natif ?

merci d'avance.
Posté le 14 avril 2006 - 08:03
Ceci marche sur notre base Oracle 7+ ODBC ou OLE DB :
-Décrire une connexion dynamiquement
-Utiliser une requete SQL pour extraire le code SQL de la VUE
-Utiliser HExécuteRequêteSQL pour execuer le code extrait
-Parcourir le résultat

Je suis preuneur de toute autre methode, à envoyer sur mon e-mail.
Cordialement.


1) Créer la requête SQL nommée R_CODE_SQL_VUE sous l'editeur

select *
from all_views
where view_name ={pVue}

2) Exécuter la fonction pgsCodeVue(sNomVue, sConnexionOracle)

sCodeSQL est une chaîne = ""

SI HExécuteRequête(R_CODE_SQL_VUE,
sConnexionOracle,hRequêteSansCorrection, "'"+sVue+"'") ALORS
SI HLitPremier(R_CODE_SQL_VUE) ALORS
sCodeSQL = {"R_CODE_SQL_VUE.TEXT"}
FIN
FIN

RENVOYER sCodeSQL

3) Exécuter le code SQL de la VUE et parcourir le résultat

-Utiliser HExécuteRequêteSQL pour exécuter le code de la vue extrait
-Puis parcourir le résultat avec HLitPremier ...
Posté le 27 avril 2006 - 17:07
Bonjour et merci d'avoir répondu seulement étant novice en windev j'ai quelques soucis pour mettre en oeuvre votre réponse.

1) select * from all_views
where view_name = "VUE"

erreur au niveau de la requête.

Warning : Fichier all_views inconnu



2) comment faut-il déclarer les variables vue nomvue

fonction pgscodevue ? non trouvée



voici le code que j'ai écrit:

connexionoracle est une Connexion
r_vue est une Source de Données


// Paramètres de la connexion
connexionoracle..Provider = hODBC
connexionoracle..Utilisateur = "xxx"
connexionoracle..MotDePasse = "xxx"
connexionoracle..Serveur = "TEST"
connexionoracle..BaseDeDonnées = ""
connexionoracle..Accès = hOLectureEcriture

codesql est une chaîne = " "
sNomvue est une chaîne
sVue est une chaîne


// Ouverture de la connexion
HOuvreConnexion(connexionoracle)

// ici je ne vois pas comment activer la fonction

pgscodevue(sNomvue,connexionoracle)

//...... message d'erreur
Erreur :Identificateur 'pgscodevue' inconnu ou inaccessible ici : pour accéder à un élément hors portée, utilisez une déclaration EXTERNE.
FEN_Fenêtre1, Initialisation, ligne 23, colonne 1 //............


SI HExécuteRequête(REQ_VUE,connexionoracle,hRequêteSansCorrection,"'"+sVue+"'") ALORS
SI HLitPremier(REQ_VUE) ALORS
codesql = {"REQ_VUE.TEXT"}
FIN
FIN

HFermeConnexion(connexionoracle)

merci............