Au menu cette année, les nouveautés Sync Services for ADO.Net, avec notamment le support de Sql Server 2008 et du Change Tracking, ou encore l’utilisation de Sync Services sur un PDA.
Nous élaborerons ensemble une application complète (en 1 h !) qui permettra de consulter nos données déconnectées, que nous soyons sur un Desktop ou sur un PDA.
Bien sur, et comme dans la vraie vie, nous aurons aussi à gérer les conflits pouvant survenir entre un ou plusieurs mobiles cherchant à éditer ou supprimer les même données.
Et tant qu’à faire, nous utiliserons les outils d’aujourd’hui, WPF, WCF, SQL SERVER 2008, SQL SERVER COMPACT 3.5 sp1, WINDOWS CE 6.
Et si nous avons le temps, une petite surprise en fin de session, que vous n’êtes pas prét de voir ailleurs !
Voici quelques mots qui vont bien ensembles, si vous imaginez une application qui :
- Est utilisable sur Windows Mobile.
- Permet de consulter en déconnecté toutes vos sessions (et les autres :))
- Permet de gérer les sessions qui vous intéressent et mettre à jour votre calendrier.
Eh bien cette application existe et aujourd’hui mon NDA sur le sujet se termine ;) avec la publication, en béta test, d’une application Windows mobile, développée par Pascal Belaud.
Si vous souhaitez participer au béta test, rendez vous ici :
Beta-test : une application Windows Mobile pour les Microsoft TechDays 2009, volontaires demandés...
Bien, maintenant, pour vous mettre l’eau à la bouche, quelques screens :)
Chargement de l’application : Données, salles, speakers, sessions etc ….
Recherche d’une session :
Tiens mettons : je cherche une session dédiée à Sync Framework ;) Hop remplissage d’un mot clé. Puis recherche :
Oh ben tiens, deux sessions sont proposées !!
Voyons voir de quoi il en retourne :
Bon cette session j’y serais !
Ajout de la session à ma liste de session à voir, et synchro avec mon calendrier !
Et voilà de qui faire mon agenda pour les 3 jours !
Et si jamais les données changent, vous avez même un module de mie à jour automatique de la base de données !
Amis béta testeurs, bon test !
Je viens de tomber sur un truc particulièrement intéressant pour les heureux utilisateurs de SDS (Azure tout ça tout ça)
La société Omega, spécialisé dans les outils Online autour de SQL Server, vient de mettre à disposition un visualiseur de données SDS sous forme d’un projet Silverligtht 2
SDS Online Browser.
Voici un premier écran, après l’écran de validations de vos identifiants, qui présentent la liste des autorités que je possède et à droite le container de l’autorité actuellement sélectionné:
Ensuite, direction les entités contenues dans mon container sélectionné, positionnées encore sur la droite :
Et enfin le contenu d’une entité elle même, éditable bien sur :)
Simple et (très) efficace !
Je me suis mis récemment à PowerShell, spécialement orienté vers SQL SERVER.
Lors de l’installation de SQL SERVER 2008, vous avez installé deux choses concernant SQL SERVER et Powershell
- Le provider SQL SERVER
- Les commandes applets (cmdlets) pour SQL SERVER (au nombre ridiculement petit de … 4)
Le provider sert en substance à naviguer dans votre serveur SQL SERVER comme si celui ci était un simple explorateur de fichier.
A base de commandes Dir, Cd etc … vous pourrez donc naviguer dans vos bases de données, vos tables etc …
Le provider nous donne aussi accès à l’ensemble des objets .Net associés à SQL SERVER, sous la forme de la bibliothèque SMO
Les commandes sont de simples raccourcis, vers des fonctions clés de SQL SERVER 2008
On en compte peu, les commandes utiles de la vie quotidienne pour SQL SERVER feront leur apparition au fur et à mesure (dixit MS)
Une commande utile par exemple : Invoke-SqlCmd qui nous permet d’invoquer SqlCmd et faire un ensemble d’opérations équivalentes.
Le lancement de Powershell pour SQL Server
Depuis SQL SERVER 2008
Première chose, PowerShell est intégré à SQL Server 2008 sous la forme d’un minishell.
Il faut savoir que le provider SQL SERVER pour Powershell ainsi que les Cmdlets ne sont pas chargés de base dans Powershell.
C’est d’ailleurs une règle de base pour Powershell : Les providers tiers et les commandes supplémentaires ne sont pas directement chargées dans Powershell à son lancement.
le minishell de SQL SERVER 2008 contient biensur les provider ainsi que les commandes SQL SERVER.
Lancez le minshell Powershell depuis SQL SERVER 2008 :
Celui ci va vous lancer PowerShell avec le provider et les commandes pré chargées, et vous placera directement sur le noeud en cours :
Le truc intéressant c’est que chaque noeud sur lequel vous vous placez, vous renvoie un objet .NET SMO. Fantastique technologie que Powershell :)
Depuis Powershell (himself)
Vous pouvez aussi lancer Powershell depuis votre menu démarrer. Powershell s’ouvre dans une interface bleuté du plus bel effet.
La différence à part ce joli fond … bleu ?
Le provider SQLSERVER ainsi que les commandes ne sont pas chargées.
Vous avez biensur la possibilité de charger ces addins pour SQL Server.
Powershell peut même vous indiquer quels sont les snap-ins (provider et commandes) qui sont enregistrés sur votre machine et qu’il est capable de monter
Il ne reste plus qu’à charger ces deux snap’in via la commande Add-PSSnapin:
Add-PSSnapin SqlServerCmdletSnapin100
Add-PSSnapin SqlServerProviderSnapin100
Voilà c’est fait :)
Il ne reste plus qu’à se positionner sur le noeud Sql Server. Comme un lecteur de fichier !
cd SqlServer:\SQL\Mim\sql2008
Ma façon à moi
Pour ma part, je préfère la deuxième méthode. Ca me permet de créer des scripts exécutables directement depuis Powershell.
Par contre monter les snap’ins SQL SERVER ne montent pas toutes les assemblies SMO. Uniquement les assemblies utilisées par le provider SQLSERVERPROVIDER.
Mais rien ne vous empêche de le faire vous même !
Je vous conseille donc ce script : Sql Server Powershell Start Script qui non seulement monte les snap’ins SQL SERVER mais aussi l’ensemble des assemblies SMO.
Un petit exemple en passant de ce qu’on est capable de faire sur un noeud Database (pour rappel on récupère un objet SMO DataBase)
$db = Get-Item .
$bTable = $db.EnumBackupSets()
foreach ($bRow in $bTable.Rows){
$bRow | Format-Table -Property Name, ID, ServerName, BackupStartDate
}
$db récupère l’objet en cours (cf une database)
$bTable récupère une Datatable (si si en powershell :)) des backups de la base de données
$bRow recupère la ligne en cours
Format-Table : affiche sous format table les propriétés énumérées (Name, ID, ServerName, BackupStartDate)
Le résultat en image :

Bon scripting avec PowerShell :)