petit problème avec les procédures.. [ORACLE] - SQL/NoSQL - Programmation
Marsh Posté le 30-01-2006 à 17:05:03
http://sheikyerbouti.developpez.com/pl_sql/?page=Chap1
tu fait une recherche de "ORA -06550"
ca pourra peut-etre t'aider... ;-)
Marsh Posté le 30-01-2006 à 20:13:14
c pas de la belle programmation du tout. Si tu nous disais ce que veux faire exactement. Tu passes un curseur en argument, et tu veux récupérer un curseur, quel est l'intéret dit moi? pour faire ça, je fais une requete sql et pas besoin de passer par une procédure. Que veux tu faire?
Marsh Posté le 31-01-2006 à 09:08:19
Je suis en stage dans une entreprise qui m'a demandé de faire évoluer une application pour la faire evoluer je dois supprimer les liens ODBC et passé par du sql*net.
auparavent une requete sql simple était faite mais on m'a dit de faire comme ca...
Marsh Posté le 30-01-2006 à 16:59:21
bonjour,
tout dabord je tien a préciser que je débute avec Oracle, je ne sais vraiment rien du tout sur ce sujet (pardonnez mon ignorance... )
j'ai une base de données crée sous ORACLE, ainsi qu'un programme fait avec Visual Basic.
j'ai crée et déclaré un procedure dans un fichier VB_PRJ_TARIFPERSO .sql
1)premierement j'ai fait la déclaration du cursor :
---------------------------------------------------------------------
-- Cursor utilisé dans PRC_LOAD_CATALOGUE
---------------------------------------------------------------------
CURSOR Cur1 IS
SELECT Cat_cod, cat_nom
FROM Cat
ORDER BY cat_nom;
TYPE CATCur IS REF CURSOR RETURN Cur1%ROWTYPE;
2) ensuite j'ai déclarée ma procédure
PROCEDURE PRC_LOAD_CATALOGUE(CATCursor IN OUT CATCur)
3) puis j'ai ecrite la procédure
/*********************************************************************/
--* PROCEDURE : PRC_LOAD_CATALOGUE -
--* --------------------------------------
--*
--* PARAMETRE :
--* RETOURNE :
--* DESCRIPTION : Chargement des nom de catalogues
/*********************************************************************/
PROCEDURE PRC_LOAD_CATALOGUE(CATCursor IN OUT CATCur) IS
BEGIN
OPEN CATCursor FOR
SELECT distinct cat_cod, cat_nom
FROM Cat
ORDER BY cat_nom;
END PRC_RECUP_NOM_CATALOGUE;
je fais appel a cette procédure dans mon programme de cette manière :
Req = "Begin VB_PRJ_TARIFPERSO.PRC_LOAD_CATALOGUE(:CATCursor); end;"
Set MyDynasetCat = MyOraDatabase.CreatePlsqlDynaset(Req, "CATCursor", 0& )
et là c m'affiche un message d'erreur : "SQL execution eror, ORA -06550: ligne1 colonne7 : PLS -00201 : l'identificateur
VB_PRJ_TARIFPERSO.PRC_LOAD_CATALOGUE doit être déclaré
ORA -06550 ligne 1 colonne 7
PL/SQL :statment ignored"
voila donc je sais qu'il a quelque chose que j'ai pas déclaré apparement mais quoi ?? je sais pas.. si quelqu'un pourrait m'aider ca serait super !
merci d'avance