Mon blogue a été changé. Voici le nouveau:
http://blogueabedoracle.blogspot.com
Abed
Blogue ORACLE - Abderrahmane Abed
Blogue sur les nouvelles technologies d'Oracle, SQL, Forms, Reports, Designer,PL/SQL, APEX, Administration,OCP
lundi 23 août 2010
lundi 12 juillet 2010
Processus d'écoute d'ORACLE.
Parfois, il se pourrait qu'on va y avoir une erreur de processus d'écoute (le système ne pourra pas se connecter comme la montre cette figure):
Pour résoudre ce problème, il suffit de redémarrer le service de Listener. Voici les étapes:
Pour résoudre ce problème, il suffit de redémarrer le service de Listener. Voici les étapes:
- Aller dans panneau de configuration - outils d'administration - services
- Chercher OracleOradb10g_Home1TNSListener
- Cliquer à gauche sur redémarrer le service
- Fermer la fenêtre Outils d'administration
- Relancer PL/SQL Developer, TOAD ou SQL Plus
- Connecter avec le compte et ça devrait marcher.
vendredi 9 juillet 2010
Raccourcis pour Forms et Reports Builder.
Il est possible qu'on peut mettre un raccourci sur le bureau de windows pour le lancement rapide d'Oracle Forms Builder 10g, dont voici les démarches.
C:\DevSuiteHome_1\BIN\Frmbld.exe
SET REPORTS_PATH=C:\DevSuiteHome_1\cgenf61\admin,C:\DevSuiteHome_1\Forms
C:\DevSuiteHome_1\BIN\rwbuilder.exe
Abed
- Créer un fichier texte et nommer le Forms.bat
- Saisir les paramètres suivants:
C:\DevSuiteHome_1\BIN\Frmbld.exe
- Sauvegarder le fichier.
- Lancer Forms en cliquant deux fois sur l'icône.
SET REPORTS_PATH=C:\DevSuiteHome_1\cgenf61\admin,C:\DevSuiteHome_1\Forms
C:\DevSuiteHome_1\BIN\rwbuilder.exe
Abed
jeudi 8 juillet 2010
Personnaliser les alertes avec Oracle Forms 10g.
Lorsqu'on va utiliser un bout de code plusieurs fois au niveau d'un module (cas des alertes par exemple), il est beaucoup plus utile de créer une unité de programme. Dans notre cas des alertes, on va créer une fonction et puis de faire appel à l'unité de programme.
Cliquer sur Ajout ou (+) en haut du module. Sélectionner Fonction et donner un nom (exemple Afficher_alerte)
Une fenêtre PL/SQL s'affiche à l'écran et on va saisir ce code (cliquez sur l'image pour voir le contenu):
Maintenant la fonction AFFICHER_ALERTE est crée. Donc, on va l'appeler à partir d'un trigger (When-Button-Pressed) en créant un bouton sur un canevas. Il nous reste qu'a saisir le code pour appeler la fonction qui affiche le message de type alerte (sans oublier bien sûr de créer un objet ALERT, sinon le programme ne le trouve pas).
Après la compilation du module, voici les résultats (cas d'un objet ALERT existant)
Cas d'un objet ALERT inexistant au niveau du module.
Testé sous Windows 7, Oracle 10gR2. Le code source (FMB) serait téléchargeable incessamment sur mon site web.
Abed
- Création de l'unité de programme
Cliquer sur Ajout ou (+) en haut du module. Sélectionner Fonction et donner un nom (exemple Afficher_alerte)
Une fenêtre PL/SQL s'affiche à l'écran et on va saisir ce code (cliquez sur l'image pour voir le contenu):
Maintenant la fonction AFFICHER_ALERTE est crée. Donc, on va l'appeler à partir d'un trigger (When-Button-Pressed) en créant un bouton sur un canevas. Il nous reste qu'a saisir le code pour appeler la fonction qui affiche le message de type alerte (sans oublier bien sûr de créer un objet ALERT, sinon le programme ne le trouve pas).
Après la compilation du module, voici les résultats (cas d'un objet ALERT existant)
Cas d'un objet ALERT inexistant au niveau du module.
Testé sous Windows 7, Oracle 10gR2. Le code source (FMB) serait téléchargeable incessamment sur mon site web.
Abed
mercredi 30 juin 2010
Changer le navigateur dans Forms 10g.
Parfois, il va y avoir des problèmes au niveau de navigateur internet pour afficher un formulaire compilé avec Oracle Forms 10g (cause de Jinitiator ou les applets java). Donc, il est préférable de changer le navigateur pour faire des tests (de Firefox vers Internet Explorer ou vice-versa). Pour se faire, on va suivre les étapes suivantes:
- Lancer Oracle Forms Builder.
- Aller dans le menu Edition - Préférences. La fenêtre suivante s'affiche à l'écran.
lundi 28 juin 2010
Récupérer une table supprimée.
Il est possible qu'on peut récupérer une table effacée par la commande Drop (DROP TABLE NOMTABLE) à moins qu'on active la corbeille d'Oracle.
Pour activer, on va vérifier un paramètre dans la corbeille:
--------- -------- -------
recyclebin string on
On voit bien que la corbeille est ON (ça veut dire que les objets effacés sont stockés dans cette corbeille pour les récupérer). Si le paramètre est OFF, on va faire un ALTER SYSTEM indiqué comme suit:
ALTER SYSTEM SET RECYCLEBIN = ON SCOPE=SPFILE;
Ensuite, on va faire un drop de la table employe (DROP TABLE EMPLOYE). À ce moment là, l'objet employe n'existe pas et pour récupérer cette table, on va utiliser un FLASHBACK:
FLASHBACK TABLE EMPLOYE TO BEFORE DROP;
Si on fait maintenant DESC EMPLOYE, le système va afficher la structure de la table effacée.
Pour activer, on va vérifier un paramètre dans la corbeille:
- Connectez-vous avec sys as sysdba avec PL/SQL Developer, TOAD ou bien tout simplement l'interface texte de SQL PLUS.
- Tapez cette commande: SHOW PARAMETER RECYCLEBIN, ce qui nous donne le résultat suivant:
--------- -------- -------
recyclebin string on
On voit bien que la corbeille est ON (ça veut dire que les objets effacés sont stockés dans cette corbeille pour les récupérer). Si le paramètre est OFF, on va faire un ALTER SYSTEM indiqué comme suit:
ALTER SYSTEM SET RECYCLEBIN = ON SCOPE=SPFILE;
Ensuite, on va faire un drop de la table employe (DROP TABLE EMPLOYE). À ce moment là, l'objet employe n'existe pas et pour récupérer cette table, on va utiliser un FLASHBACK:
FLASHBACK TABLE EMPLOYE TO BEFORE DROP;
Si on fait maintenant DESC EMPLOYE, le système va afficher la structure de la table effacée.
Afficher le code source d'un objet de la BD.
Pour afficher le code source d'un objet stocké dans la BD (procédure ou fonction), j'ai crée une procédure paramétrable qui permet de faire ce travail, mais avant ça, on doit créer une autre pour la stocker sur le schéma de la BD.
SET SERVEROUTPUT ON (important pour afficher les messages en PL/SQL)
create or replace procedure TestMessage(mes varchar2)
is
begin
dbms_output.put_line(mes);
end;
Cette procédure affiche n'importe quel message sur l'écran. On va compiler cette procédure pour créer l'objet. Ensuite, la voici la procédure aff_code_source:
CREATE OR REPLACE PROCEDURE AFF_CODE_SOURCE(NOM_OBJET IN VARCHAR2)
IS
CURSOR CUR_OBJET
IS
SELECT TEXT FROM USER_SOURCE -- SELECT POUR AFFICHER
WHERE NAME=NOM_OBJET -- LE CODE SOURCE
ORDER BY LINE;
LIG_OBJ CUR_OBJET%ROWTYPE;
INDICE NUMBER:=0;
BEGIN
OPEN CUR_OBJET;
LOOP
FETCH CUR_OBJET INTO LIG_OBJ; --RÉCUPÈRE LA LIGNE
EXIT WHEN CUR_OBJET%NOTFOUND;
DBMS_OUTPUT.PUT_LINE(LIG_OBJ.TEXT); --AFFICHER LE CONTENU DE CHAQUE LIGNE
INDICE := INDICE+1;
END LOOP;
CLOSE CUR_OBJET;
IF INDICE=0 THEN
TestMessage(' ERREUR... LA PROCÉDURE OU LA FONCTION '||NOM_OBJET||' N''A PAS ÉTÉ CRÉE');
END IF;
END AFF_CODE_SOURCE;
Compilez cette procédure et vous verrez les résultats en exécutant la commande suivante:
EXEC AFF_CODE_SOURCE('TESTMESSAGE');
SET SERVEROUTPUT ON (important pour afficher les messages en PL/SQL)
create or replace procedure TestMessage(mes varchar2)
is
begin
dbms_output.put_line(mes);
end;
Cette procédure affiche n'importe quel message sur l'écran. On va compiler cette procédure pour créer l'objet. Ensuite, la voici la procédure aff_code_source:
CREATE OR REPLACE PROCEDURE AFF_CODE_SOURCE(NOM_OBJET IN VARCHAR2)
IS
CURSOR CUR_OBJET
IS
SELECT TEXT FROM USER_SOURCE -- SELECT POUR AFFICHER
WHERE NAME=NOM_OBJET -- LE CODE SOURCE
ORDER BY LINE;
LIG_OBJ CUR_OBJET%ROWTYPE;
INDICE NUMBER:=0;
BEGIN
OPEN CUR_OBJET;
LOOP
FETCH CUR_OBJET INTO LIG_OBJ; --RÉCUPÈRE LA LIGNE
EXIT WHEN CUR_OBJET%NOTFOUND;
DBMS_OUTPUT.PUT_LINE(LIG_OBJ.TEXT); --AFFICHER LE CONTENU DE CHAQUE LIGNE
INDICE := INDICE+1;
END LOOP;
CLOSE CUR_OBJET;
IF INDICE=0 THEN
TestMessage(' ERREUR... LA PROCÉDURE OU LA FONCTION '||NOM_OBJET||' N''A PAS ÉTÉ CRÉE');
END IF;
END AFF_CODE_SOURCE;
Compilez cette procédure et vous verrez les résultats en exécutant la commande suivante:
EXEC AFF_CODE_SOURCE('TESTMESSAGE');
jeudi 17 juin 2010
Oracle 11g release 2.
Après le lancement de la version 11g sous Linux, Oracle vient de sortir cette version sous Windows 32 et 64 bits.
http://www.oracle.com/technology/software/products/database/index.html
http://www.oracle.com/technology/software/products/database/index.html
mercredi 27 janvier 2010
Intégrer un calendrier avec Oracle Forms.
vendredi 22 janvier 2010
Projet (partie applicative).
Étant donné qu'on a pas assez du temps pour utiliser le DHF afin de créer les modules FORMS de notre application, on va procéder manuellement la création avec Oracle Forms 10g, dont voici les prototypes:
Une version de démonstration est en cours de développement.
Abed
- Module Baux: Ce module permet d'ajouter les baux une fois que le locataire trouvera l'appartement ainsi que les conditions de loyer.
Une version de démonstration est en cours de développement.
Abed
Inscription à :
Articles (Atom)