Salut,
Qui peux me dire pourquoi un lien dblink crée qui fonctionne correctement sous sql, n'est pas reconnu quand il est exécuté à partir de forms6i ?
PS: sous xp, oracle8i, monoposte avec deux instances
Merci d'avance
Salut,
Qui peux me dire pourquoi un lien dblink crée qui fonctionne correctement sous sql, n'est pas reconnu quand il est exécuté à partir de forms6i ?
PS: sous xp, oracle8i, monoposte avec deux instances
Merci d'avance
Si c'est par synonym sur des fonctions, procedure, package : Bug oraclehttp://www.developpez.net/forums/sho...d.php?t=266037
Quelle est la syntaxe ?
Hi,
Merci avant tout. Je n'ai pas utilisé de procédure ni de fonction pour le moment. Je voulais avant tout l'essayer sur un trigger évenementiel When-button-pressed pour connaitre le résultat avant d'aller plus loin. Voila ce que j'ai fait sous SQL de la base2 et c'était OK:Aussi:
Code : Sélectionner tout - Visualiser dans une fenêtre à part insert into emp select * from emp@linkbd1;Sous Forms boutton When-button-pressed, voici ce que j'ai fait et que j'ai pas eu de résultat:
Code : Sélectionner tout - Visualiser dans une fenêtre à part create table emp as select * from emp@linkbd1;et:
Code : Sélectionner tout - Visualiser dans une fenêtre à part Forms_DDLL('insert into emp select * from emp@linkbd1');J'ai eu comme message d'erreur aprés avoir placer une exception le fameux message du:
Code : Sélectionner tout - Visualiser dans une fenêtre à part Forms_DDL('create table emp as select * from emp@linkbd1');
Code : Sélectionner tout - Visualiser dans une fenêtre à part ORA: 02085
Si c'est juste ce genre de code SQL que tu doit avoir, tu n'as qu'à faire une procédure ou une fonction sur ta base qui fait un EXECUTE_IMMEDIATE
Tu l'appelles par
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 PROCEDURE P_EXEC_BASE (p_requete IN VARCHAR2) IS BEGIN EXECUTE IMMEDIATE (p_requete); END;
Code : Sélectionner tout - Visualiser dans une fenêtre à part p_exec_base('insert into emp select * from emp@linkbd1');
Merci pour cette indication mais en fait je dois écrire des codes pl/sql plus compliqués que ça ou je devrais tout transmettre par valeur comme les tables de la base1 et base2, les liens, les attributs des tables. Combiner les insertions et les updates dans les mêmes procédures. C'est pour cette raison que je voulais m'assurer de la bonne communication entre les deux bases avant d'entamer les choses serieuses. Qu'est ce que tu pourrais bien me conseiller?
une autre qestion pourquoi quand je fais:la modification se fait mais une fois le pc redemarrer la valeur revient à TRUE?
Code : Sélectionner tout - Visualiser dans une fenêtre à part alter session set global_names =False
Pour moi le mieux est de créer des fonctions génériques comme celle que j'ai donné.
Il suffit de créer un package et de créer toutes les fonctions dont tu as besoin (paramètres). En utilisant les USING ça marche bien.
Pour le ALTER SESSION, c'est la session actuelle qui a le param modifié.
Si tu te relogues tu changes de session
Considère le ALTER SESSION comme une modification pour l'utilisateur seulement tant qu'il reste connecté.
Partager