Ce matin, j'ai voulu recréer sur une base de données Oracle, une vue matérialisée avec un Fast refresh utilisant un database link. La particularité de cette vue materialisée est qu'elle utilise un dblink portant le même nom que le schéma sur lequel se trouve la table que je souhaite avoir dans ma vue matérialisée.
Il semblerait que cette particularité génère une erreur sur certaines versions d'Oracle.
SQL> CREATE MATERIALIZED VIEW local.mytable BUILD IMMEDIATE REFRESH FAST As Select * From master.mytable@master;
CREATE MATERIALIZED VIEW local.mytable BUILD IMMEDIATE REFRESH FAST As Select * From master.mytable@master
ERROR at line 1:
ORA-12018: following error encountered during code generation for "local"."mytable"
ORA-00942: table or view does not exist
Un workaround pour contourner cette erreur consiste à d'abord la vue materialisée en Complete Refresh puis de la modifier pour qu'elle utilise un Fast refresh. Donc ici pour ma table mytable:
CREATE MATERIALIZED VIEW MyMaterializedView BUILD IMMEDIATE REFRESH COMPLETE As Select * From master.mytable@master;
Alter MATERIALIZED VIEW MyMaterializedView REFRESH FAST;
Je n'ai pas trouvé d'explications claires sur le pourquoi de ce bug mais en tout cas le workaround semble bien fonctionner.
mardi 23 juillet 2013
lundi 13 mai 2013
Comment déterminer si un Type dispose d'un constructeur sans paramètre
Il existe plusieurs solution pour déterminer par réflexion si un Type dispose d'un constructeur sans paramètre. Voici 2 manières de faire :
Bonne réflexion !
typeof(TypeT).GetConstructors().
Any(c => !c.GetParameters(). Any()) typeof(TypeT).GetConstructor(Type.EmptyTypes) != null
Bonne réflexion !
jeudi 25 avril 2013
Ajouter un programme du XP Mode dans windows 7 en seamless mode
Le XP Mode l'utilisation d'applications fonctionnant sur windows XP sur Windows 7. Le XP Mode est simplement une machine Virtuelle "Windows Virtual PC avec une image de windows XP Professionnel installée dessus.
Virtual PC permet un mode "seamless". Le seamless mode permet de travailler avec les fenêtres des applications
tournant sur la VM sur le bureau de la machine host. Cela donne l'impression qu'il n'y a pas du tout de machine virtuelle et que tout est géré par l'OS de la machine hôte.
Il est possible de lancer directement depuis Windows 7 des applications s’exécutant en XP Mode en seamless mode depuis le menu démarrer de Windows 7. Voici la petite procédure à suivre :
- Sur la machine virtuelle (XP Mode) aller dans le dossier %allusersprofile%\start menu (C:\Documents and Settings\All Users\Start Menu)
- Créer un raccourci vers votre application dans ce dossier
- Après quelques secondes, votre lien s'affichera dans le dossier "Windows Virtual PC/Windows XP Mode Applications" de votre Windows 7 et démarrera automatiquement le XP Mode et votre application
Liens:
- Télécharger le XP Mode
mercredi 24 avril 2013
Sites de cours vidéos en ligne
Voici une liste de sites permettant de suivre des cours/formations/workshops pour les développeurs .Net
- Microsoft Virtual academy
- lien : http://www.microsoftvirtualacademy.com
- gratuit
- DIMECASTS.NET
- lien : http://dimecasts.net/
- gratuit
- Channel 9
- lien : http://channel9.msdn.com/
- gratuit
- Plurasight
- lien : http://www.pluralsight.com/training
- payant
vendredi 15 mars 2013
Afficher le contenu d'un dossier avec IIS express
Par défaut IIS express ne permet pas d'explorer le contenu d'un dossier. Si vous souhaitez changer ce comportement, voici la procédure à suivre :
IISExpress\config\ applicationhost.config
<configuration>
[...]
<system .webserver>
[...]
<directorybrowse enabled="true"/>
[...]
[...] représente d'autres éléments qui ne nous concernent pas.
Ouvrez le fichier de configuration d'IIS express:
[Windows7]
C:\Users\{Username}\Documents\
Ensuite il faut aller ajouter ou modifier l'élément "directoryBrowse" qui se trouve dans /configuration/system. webServer. Cet élément doit être configuré de la manière suivante :
C'est à dire :
<configuration>
[...]
<system .webserver>
[...]
<directorybrowse enabled="true"/>
[...]
[...] représente d'autres éléments qui ne nous concernent pas.
dimanche 3 mars 2013
Attention le petit oiseau va sortir ...
Après LockHunter, voici un autre petit outil bien pratique que j'utilise souvent lors de mes journées de développeur : Greenshot.
Cet outil permet de prendre des captures d'écran (screenshots). Une fois installé, vous disposez d'une nouvelle icône (un G vert)dans votre barre des tâches qui vous permet de configurer Greenshot.
Greenshot permet de prendre une capture d'écran d'une fenêtre en particulier, d'une zone de votre écran ou de votre écran au complet. Une fois la capture réalisée, il est possible d'ajouter des annotations sur votre capture avant de la sauvegarder en png, jpeg, gif, bmp, ... en gros n'importe quel format d'image standard.
Greenshot est téléchargeable sur le site http://getgreenshot.org/
Cet outil permet de prendre des captures d'écran (screenshots). Une fois installé, vous disposez d'une nouvelle icône (un G vert)dans votre barre des tâches qui vous permet de configurer Greenshot.
Greenshot permet de prendre une capture d'écran d'une fenêtre en particulier, d'une zone de votre écran ou de votre écran au complet. Une fois la capture réalisée, il est possible d'ajouter des annotations sur votre capture avant de la sauvegarder en png, jpeg, gif, bmp, ... en gros n'importe quel format d'image standard.
Greenshot est téléchargeable sur le site http://getgreenshot.org/
Mais qui locke mon fichier ?
N'avez vous jamais eu l'envie d'exploser votre clavier lorsque vous souhaitez supprimer/déplacer un fichier et que Windows vous affiche un gentil message d'erreur vous indiquant que ce fichier est actuellement bloqué par un autre processus ? Une petite voix résonne alors dans votre tête et hurle: "Mais qui locke mon fichier ?!?!".
Afin d'éviter une immense frustration, voici un petit logiciel fort sympathique qui va grandement vous servir : LockHunter : http://lockhunter.com/
LockHunter vous indique, entre autres, quel process bloque actuellement le fichier que vous lui avez demandé d'inspecter et vous permet de forcer la suppression ou de terminer ce processus. Le logiciel s'intègre à l'explorateur Windows et est accessible au moyen d'un simple clique droit sur un fichier.
Fini l'énervement et un grand merci à la société CrystalRich d'avoir développé ce petit outil bien pratique !
Afin d'éviter une immense frustration, voici un petit logiciel fort sympathique qui va grandement vous servir : LockHunter : http://lockhunter.com/
LockHunter vous indique, entre autres, quel process bloque actuellement le fichier que vous lui avez demandé d'inspecter et vous permet de forcer la suppression ou de terminer ce processus. Le logiciel s'intègre à l'explorateur Windows et est accessible au moyen d'un simple clique droit sur un fichier.
Fini l'énervement et un grand merci à la société CrystalRich d'avoir développé ce petit outil bien pratique !
Inscription à :
Articles (Atom)