PC SOFT

PROFESSIONAL NEWSGROUPS
WINDEVWEBDEV and WINDEV Mobile

Home → WINDEV 2024 → insertion vue oracle
insertion vue oracle
Started by thierry.garcia, Apr., 13 2006 1:32 PM - 2 replies
Posted on April, 13 2006 - 1:32 PM
en oracle ne sont apparement reconnues que les tables et non les vues.
Y a t-il une solution? acces natif ?

merci d'avance.
Posted on April, 14 2006 - 8:03 AM
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 ...
Posted on April, 27 2006 - 5:07 PM
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............