mercredi 20 juin 2012

Oracle Execute Immediate : Nom de table invalide (ORA-00903: Invalid table name)

Si vous avez cette erreur c'est que comme moi vous avez tenté de faire quelque chose comme :

Begin
  Execute Immediate 'Truncate Table :1' using 'MaTable';
End;

En y réfléchissant bien, il est normal qu'Oracle refuse de faire cela. En effet, la commande Execute Immediate travaille avec des bind variables (préfixées par un ':'). La valeur d'une bind variable est assignée après que le parseur ait analysé votre requête. Oracle vous indique donc que la table ":1" n'existe pas.

Pour info, si vous travaillez avec sqlplus et que vous pouvez scripter le code que vous souhaitiez exécuter, il est possible d'avoir le comportement que vous souhaitiez en utilisant une variable de script, c'est à dire &1 :

Begin
   Execute Immediate 'Truncate Table &1';
End;
/

Si sqlplus n'est pas une solution, vous devez concaténer votre requête dynamique :

Begin
  Execute Immediate 'Truncate Table ' || 'MaTable';
End;

mardi 12 juin 2012

2 fenêtres Excel indépendantes en dual screen

Voici une petite astuce assez simple qui permet d'avoir 2 instances d'Excel indépendantes.

Si vous tentez d'ouvrir 2 fichiers Excel différents vous remarquerez qu'il n'y a qu'une seule instance d'Excel qui est ouverte contenant 2 sous fenêtres avec vos documents. Afin de pouvoir splitter votre Excel, il suffit de lancer 2 instances d'Excel sans spécifier de fichier puis de récupérer le fichier sur l'instance souhaitée.

En gros:
  1. Fermez toutes les instances d'Excel ouvertes
  2. Allez dans le menu démarrer (ou dans la barre des tâches) et lancez Excel
  3. Disposez la fenêtre sur l'écran voulu
  4. Répétez l'étape 2 pour ouvrir une nouvelle instance d'Excel indépendante.
Voila une procédure assez simple, mais la question me revient souvent, donc je l'inscris ici :-)

 Solution testée avec MS Excel 2007 SP3 et MS Excel 2010

lundi 4 juin 2012

Un aperçu de Html5

Voici le lien vers une présentation (en html) que j'ai réalisée à propos de Html5 lors d'un workshop dans la société pour laquelle je travaille :
Présentation : Un aperçu de Html5

Je présente les points suivants :
  1. Introduction à Html 5
  2. Nouveaux Eléments Sémantiques
  3. Formulaire
  4. Multimédia
  5. Stockage
  6. Dessins
  7. Géolocalisation
Chaque partie présente quelques exemples.

Cette présentation utilise la librairie slidy2.js (http://www.w3.org/Talks/Tools/Slidy2/#%281%29) qui est utilisée pour les présentation du W3C. Les exemples de la présentation fonctionnent tous avec Opera 11.64