<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://www.dotmim.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Blog à Mim</title><link>http://www.dotmim.com/blogs/</link><description>Select * from Seb where Sujets in (SQL Server 2008, ADO.NET, Visual Studio 2008)</description><dc:language>en-US</dc:language><generator>CommunityServer 2007 SP2 (Build: 20611.960)</generator><item><title>Article: Olymars Industrialisation</title><link>http://www.dotmim.com/blogs/mim/archive/2008/11/26/article-olymars-industrialisation.aspx</link><pubDate>Wed, 26 Nov 2008 08:33:04 GMT</pubDate><guid isPermaLink="false">f24f4a04-d5df-4071-90fb-39191e3ba06c:466</guid><dc:creator>Mimetis</dc:creator><slash:comments>0</slash:comments><description>&lt;table cellspacing="0" cellpadding="2"&gt;     &lt;tr&gt;       &lt;td&gt;         &lt;p&gt;Bonjour &amp;#224; tous, je viens de publier un nouvel article sur &lt;a href="http://www.techheadbrothers.com/"&gt;TechHeadBrothers&lt;/a&gt;. &lt;/p&gt;          &lt;p&gt;&lt;a href="http://www.techheadbrothers.com/Articles.aspx/olymars-industrialisation"&gt;&lt;strong&gt;Industrialisation avec Olymars.&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;          &lt;p&gt;Il s&amp;#39;agit d&amp;#39;un retour d&amp;#39;exp&amp;#233;rience sur l&amp;#39;industrialisation d&amp;#39;un projet depuis un prototype cr&amp;#233;e avec Olymars.&lt;/p&gt;          &lt;p&gt;Le principe &amp;#233;tant de faire un prototype d&amp;#39;une application Winforms - WCF - Sql Server 2008 pour pouvoir faire une pr&amp;#233;sentation rapide &amp;#224; notre client.&lt;/p&gt;          &lt;p&gt;Ensuite pouvoir r&amp;#233;cup&amp;#233;rer ce prototype et l&amp;#39;industrialiser.&lt;/p&gt;       &lt;/td&gt;        &lt;td&gt;&lt;a href="http://www.dotmim.com/blogs/mim/WindowsLiveWriter/ArticleOlymarsIndustrialisation_863E/image1.jpg"&gt;&lt;img style="border-right:0px;border-top:0px;border-left:0px;border-bottom:0px;" height="182" alt="image1" src="http://www.dotmim.com/blogs/mim/WindowsLiveWriter/ArticleOlymarsIndustrialisation_863E/image1_thumb.jpg" width="244" border="0" /&gt;&lt;/a&gt; &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;&lt;a href="http://www.dotmim.com/blogs/mim/WindowsLiveWriter/ArticleOlymarsIndustrialisation_863E/image2.jpg"&gt;&lt;img style="border-right:0px;border-top:0px;border-left:0px;border-bottom:0px;" height="174" alt="image2" src="http://www.dotmim.com/blogs/mim/WindowsLiveWriter/ArticleOlymarsIndustrialisation_863E/image2_thumb.jpg" width="244" border="0" /&gt;&lt;/a&gt; &lt;/td&gt;        &lt;td&gt;         &lt;p&gt;Le deuxi&amp;#232;me d&amp;#233;fi &amp;#233;tant aussi d&amp;#39;int&amp;#233;grer un maximum Olymars dans Visual Studio 2008.&lt;/p&gt;          &lt;p&gt;J&amp;#39;en profite ici pour remercier &lt;strong&gt;&lt;a href="http://blogs.msdn.com/pascal/"&gt;Pascal Belaud&lt;/a&gt;&lt;/strong&gt; pour toutes les impl&amp;#233;mentations qu&amp;#39;il a faits suite &amp;#224; mes retours.&lt;/p&gt;          &lt;p&gt;Aussi un merci &amp;#224; &lt;strong&gt;&lt;a href="http://www.ocourtois.fr/"&gt;Olivier Courtois&lt;/a&gt;&lt;/strong&gt; qui a travaill&amp;#233; sur le projet &amp;#224; son arriv&amp;#233;e &amp;#224; Bewise.&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;   &lt;/table&gt;&lt;img src="http://www.dotmim.com/aggbug.aspx?PostID=466" width="1" height="1"&gt;</description></item><item><title>Dossier MSDN : Ressources sur Sql Server 2008</title><link>http://www.dotmim.com/blogs/mim/archive/2008/11/25/dossier-msdn-ressources-sur-sql-server-2008.aspx</link><pubDate>Tue, 25 Nov 2008 09:07:44 GMT</pubDate><guid isPermaLink="false">f24f4a04-d5df-4071-90fb-39191e3ba06c:465</guid><dc:creator>Mimetis</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;Voici un gros dossier sur Sql Server 2008.&lt;/p&gt;  &lt;p&gt;&lt;a title="http://msdn.microsoft.com/fr-fr/sqlserver/msdn.dossier-sql08.aspx" href="http://msdn.microsoft.com/fr-fr/sqlserver/msdn.dossier-sql08.aspx"&gt;http://msdn.microsoft.com/fr-fr/sqlserver/msdn.dossier-sql08.aspx&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.dotmim.com/blogs/mim/WindowsLiveWriter/DossierMSDNRessourcessurSqlServer2008_8E64/image_2.png"&gt;&lt;img style="border-right:0px;border-top:0px;border-left:0px;border-bottom:0px;" height="195" alt="image" src="http://www.dotmim.com/blogs/mim/WindowsLiveWriter/DossierMSDNRessourcessurSqlServer2008_8E64/image_thumb.png" width="244" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Vous y retrouverez des articles, des webcasts, des liens utiles vers des blogs et autres ressources disponible sur le web.&lt;/p&gt;  &lt;p&gt;Retrouvez des notions comme :&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Les nouveaux types &lt;/li&gt;    &lt;li&gt;Le ressource governor, pour maitriser les performances allou&amp;#233;es&lt;/li&gt;    &lt;li&gt;Le type FILESTREAM&lt;/li&gt;    &lt;li&gt;Un Webcast sur la BI (made by Jean Pierre :))&lt;/li&gt;    &lt;li&gt;Des articles sur la synchronisation &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;bref beaucoup de contenu tr&amp;#233;s tr&amp;#233;s utile pour d&amp;#233;couvrir ou approfondir vos connaissances sur Sql Server 2008 !&lt;/p&gt;&lt;img src="http://www.dotmim.com/aggbug.aspx?PostID=465" width="1" height="1"&gt;</description></item><item><title>PDC Day 4 : It's Over !</title><link>http://www.dotmim.com/blogs/mim/archive/2008/10/31/pdc-day-4-it-s-over.aspx</link><pubDate>Fri, 31 Oct 2008 06:58:28 GMT</pubDate><guid isPermaLink="false">f24f4a04-d5df-4071-90fb-39191e3ba06c:464</guid><dc:creator>Mimetis</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;Bon &amp;#231;a y&amp;#39;est, la PDC c&amp;#39;est fini !&lt;/p&gt;  &lt;p&gt;Derni&amp;#232;re journ&amp;#233;e harassante, nous jetons nos derni&amp;#232;re cartouches de soif et d&amp;#233;sir de savoir, sur les derni&amp;#232;re sessions propos&amp;#233;es&lt;/p&gt;  &lt;p&gt;Le retour &amp;#224; l&amp;#39;hotel se fait sans encombre et JP et moi m&amp;#234;me prenons quelques instants pour ... nous reposer !&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.dotmim.com/blogs/mim/WindowsLiveWriter/PDCDay4ItsOver_6FF5/PDC2008%20028.jpg"&gt;&lt;img style="border-right:0px;border-top:0px;border-left:0px;border-bottom:0px;" height="184" alt="PDC2008 028" src="http://www.dotmim.com/blogs/mim/WindowsLiveWriter/PDCDay4ItsOver_6FF5/PDC2008%20028_thumb.jpg" width="244" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;A peine remis de nos &amp;#233;motions, et requinquer, y&amp;#39;a plus qu&amp;#39;&amp;#224; profiter de l&amp;#39;hotel !&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.dotmim.com/blogs/mim/WindowsLiveWriter/PDCDay4ItsOver_6FF5/P1030177.jpg"&gt;&lt;img style="border-right:0px;border-top:0px;border-left:0px;border-bottom:0px;" height="184" alt="P1030177" src="http://www.dotmim.com/blogs/mim/WindowsLiveWriter/PDCDay4ItsOver_6FF5/P1030177_thumb.jpg" width="244" border="0" /&gt;&lt;/a&gt; &lt;a href="http://www.dotmim.com/blogs/mim/WindowsLiveWriter/PDCDay4ItsOver_6FF5/P1030176.jpg"&gt;&lt;img style="border-right:0px;border-top:0px;border-left:0px;border-bottom:0px;" height="184" alt="P1030176" src="http://www.dotmim.com/blogs/mim/WindowsLiveWriter/PDCDay4ItsOver_6FF5/P1030176_thumb.jpg" width="244" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Une superbe s&amp;#233;rie &amp;#224; la Michael Phelps de JP :&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.dotmim.com/blogs/mim/WindowsLiveWriter/PDCDay4ItsOver_6FF5/PDC2008%20029.jpg"&gt;&lt;img style="border-right:0px;border-top:0px;border-left:0px;border-bottom:0px;" height="184" alt="PDC2008 029" src="http://www.dotmim.com/blogs/mim/WindowsLiveWriter/PDCDay4ItsOver_6FF5/PDC2008%20029_thumb.jpg" width="244" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Mais ne JAMAIS oublier qu&amp;#39;un consultant, se doit de TOUJOURS toujours avoir ... son PC &amp;#224; port&amp;#233;e de mains :) &lt;/p&gt;  &lt;p&gt;Sait on jamais, une demoiselle en d&amp;#233;tresse peut toujours avoir besoin d&amp;#39;un peu de conseil sur SQL Server par exemple !&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.dotmim.com/blogs/mim/WindowsLiveWriter/PDCDay4ItsOver_6FF5/PDC2008%20033.jpg"&gt;&lt;img style="border-right:0px;border-top:0px;border-left:0px;border-bottom:0px;" height="184" alt="PDC2008 033" src="http://www.dotmim.com/blogs/mim/WindowsLiveWriter/PDCDay4ItsOver_6FF5/PDC2008%20033_thumb.jpg" width="244" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Allez demain, on rentre &amp;#224; la maison :)&lt;/p&gt;  &lt;p&gt;Ceci cl&amp;#244;t mes posts non techniques pour l&amp;#39; occasion. On se retrouve au prochain post pour quelque chose de plus c&amp;#233;r&amp;#233;bral :)&lt;/p&gt;  &lt;p&gt;Vivement l&amp;#39;ann&amp;#233;e prochaine !&lt;/p&gt;  &lt;p&gt;A la votre :)&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.dotmim.com/blogs/mim/WindowsLiveWriter/PDCDay4ItsOver_6FF5/PDC2008%20032.jpg"&gt;&lt;img style="border-right:0px;border-top:0px;border-left:0px;border-bottom:0px;" height="184" alt="PDC2008 032" src="http://www.dotmim.com/blogs/mim/WindowsLiveWriter/PDCDay4ItsOver_6FF5/PDC2008%20032_thumb.jpg" width="244" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://www.dotmim.com/aggbug.aspx?PostID=464" width="1" height="1"&gt;</description><category domain="http://www.dotmim.com/blogs/mim/archive/tags/PDC+2008/default.aspx">PDC 2008</category></item><item><title>PDC 2008 Day 3 : De plus en plus fort</title><link>http://www.dotmim.com/blogs/mim/archive/2008/10/30/pdc-2008-day-3-de-plus-en-plus-fort.aspx</link><pubDate>Thu, 30 Oct 2008 00:00:53 GMT</pubDate><guid isPermaLink="false">f24f4a04-d5df-4071-90fb-39191e3ba06c:452</guid><dc:creator>Mimetis</dc:creator><slash:comments>2</slash:comments><description>&lt;p&gt;Bon l&amp;#224; je crois qu&amp;#39;au niveau de la photo High level, on atteint des sommets l&amp;#224; :&lt;/p&gt;  &lt;p&gt;Donc, au d&amp;#233;tour d&amp;#39;un couloir, qui aper&amp;#231;oit &amp;#39;on ?&lt;/p&gt;  &lt;p&gt;Juste &lt;a href="http://weblogs.asp.net/Scottgu/"&gt;Scott Guthrie&lt;/a&gt;, &lt;a href="http://www.pluralsight.com/community/blogs/dbox/"&gt;Don Box&lt;/a&gt; et &lt;a href="http://www.thelongtail.com/"&gt;Chris Anderson&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;Soyons bien clair, ces 3 gars l&amp;#224; c&amp;#39;est juste des dieux ... et encore ...&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;a href="http://www.dotmim.com/blogs/mim/WindowsLiveWriter/PDCDay3Deplusenplusfort_127D7/P1030125.jpg"&gt;&lt;img style="border-right:0px;border-top:0px;border-left:0px;border-bottom:0px;" height="184" alt="P1030125" src="http://www.dotmim.com/blogs/mim/WindowsLiveWriter/PDCDay3Deplusenplusfort_127D7/P1030125_thumb.jpg" width="244" border="0" /&gt;&lt;/a&gt;&amp;#160;&lt;a href="http://www.dotmim.com/blogs/mim/WindowsLiveWriter/PDCDay3Deplusenplusfort_127D7/P1030126.jpg"&gt;&lt;img style="border-right:0px;border-top:0px;border-left:0px;border-bottom:0px;" height="184" alt="P1030126" src="http://www.dotmim.com/blogs/mim/WindowsLiveWriter/PDCDay3Deplusenplusfort_127D7/P1030126_thumb.jpg" width="244" border="0" /&gt;&lt;/a&gt; &lt;a href="http://www.dotmim.com/blogs/mim/WindowsLiveWriter/PDCDay3Deplusenplusfort_127D7/P1030125_1.jpg"&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Vous aurez reconnu aux milieux de ces stars, d&amp;#39;autres stars : David, Jean Pierre, Sacha et moi m&amp;#234;me !&lt;/p&gt;  &lt;p&gt;Bon l&amp;#224; maintenant, &amp;#224; moins de choper Bill Gates et Steve Balmer cote &amp;#224; cote, on pourra pas faire mieux ! &lt;/p&gt;&lt;img src="http://www.dotmim.com/aggbug.aspx?PostID=452" width="1" height="1"&gt;</description><category domain="http://www.dotmim.com/blogs/mim/archive/tags/PDC+2008/default.aspx">PDC 2008</category></item><item><title>PDC 2008 : Astoria Offline</title><link>http://www.dotmim.com/blogs/mim/archive/2008/10/30/pdc-astoria-offline.aspx</link><pubDate>Wed, 29 Oct 2008 23:41:07 GMT</pubDate><guid isPermaLink="false">f24f4a04-d5df-4071-90fb-39191e3ba06c:451</guid><dc:creator>Mimetis</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;Je viens d&amp;#39;assister &amp;#224; une session consacr&amp;#233;e &amp;#224; Astoria Offline&lt;/p&gt;  &lt;p&gt;Bon quand on le voit, c&amp;#39;est g&amp;#233;nial.&lt;/p&gt;  &lt;p&gt;Mais maintenant, en y r&amp;#233;fl&amp;#233;chissant, j&amp;#39;ai quand m&amp;#234;me pas mal de doutes ...&lt;/p&gt;  &lt;p&gt;C&amp;#39;est construit sur Sync. Framework (V2 je suppose). Bon Ok, &amp;#231;a c&amp;#39;est cool.&lt;/p&gt;  &lt;p&gt;Ils ont produit les Providers client et serveur, qui se mappent sur Entity Framework. Bon &amp;#231;a c&amp;#39;est cool, aussi.&lt;/p&gt;  &lt;p&gt;Ils ont remapp&amp;#233; toutes les m&amp;#233;thodes, d&amp;#233;tection de conflits etc ... Et &amp;#231;a, c&amp;#39;est ... perturbant.&lt;/p&gt;  &lt;p&gt;J&amp;#39;ai peur que tout &amp;#231;a soit confus et induisent en erreur les &amp;quot;non connaisseurs&amp;quot; &lt;/p&gt;  &lt;p&gt;Bon, c&amp;#39;est une premi&amp;#232;re impression, il faut attendre les premi&amp;#232;res CTP qui devraient voir le jour en fin d&amp;#39;ann&amp;#233;e&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Stay Tuned !&lt;/p&gt;&lt;img src="http://www.dotmim.com/aggbug.aspx?PostID=451" width="1" height="1"&gt;</description><category domain="http://www.dotmim.com/blogs/mim/archive/tags/PDC+2008/default.aspx">PDC 2008</category><category domain="http://www.dotmim.com/blogs/mim/archive/tags/Sync+Framework/default.aspx">Sync Framework</category></item><item><title>5 minutes pour comprendre</title><link>http://www.dotmim.com/blogs/mim/archive/2008/10/29/5-minutes-pour-comprendre.aspx</link><pubDate>Wed, 29 Oct 2008 21:30:39 GMT</pubDate><guid isPermaLink="false">f24f4a04-d5df-4071-90fb-39191e3ba06c:450</guid><dc:creator>Mimetis</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;En marge de la PDC, voici une nouveaut&amp;#233; assez sympathique pour l&amp;#39;ensemble de la communaut&amp;#233; :&lt;/p&gt;  &lt;p&gt;&amp;quot;5 minutes pour comprendre les Nouveaut&amp;#233;s Microsoft&amp;quot;&lt;/p&gt;  &lt;p&gt;Vous aurez l&amp;#39;occasion de voir pas mal de vid&amp;#233;os expliquant rapidemment et simplement les principales nouveaut&amp;#233;s / concepts des nouvelles technologies &lt;em&gt;from MS&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;Vous pouvez surfer principalement sur 3 th&amp;#232;mes:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;     &lt;p&gt;&lt;a href="http://technet.microsoft.com/fr-fr/dd129486.aspx"&gt;5 minutes pour comprendre les Nouveaut&amp;#233;s Microsoft&lt;/a&gt;&lt;/p&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;p&gt;&lt;a href="http://technet.microsoft.com/fr-fr/dd129487.aspx"&gt;5 minutes pour comprendre les Technologies cl&amp;#233;s Microsoft&lt;/a&gt;&lt;/p&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;p&gt;&lt;a href="http://technet.microsoft.com/fr-fr/dd129488.aspx"&gt;5 minutes pour comprendre les Produits et th&amp;#233;matiques transverses&lt;/a&gt;&lt;/p&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Enjoy !&lt;/p&gt;&lt;img src="http://www.dotmim.com/aggbug.aspx?PostID=450" width="1" height="1"&gt;</description></item><item><title>PDC 2008 : Annoucing PDC 2009</title><link>http://www.dotmim.com/blogs/mim/archive/2008/10/29/pdc-2008-annoucing-pdc-2009.aspx</link><pubDate>Wed, 29 Oct 2008 15:26:00 GMT</pubDate><guid isPermaLink="false">f24f4a04-d5df-4071-90fb-39191e3ba06c:449</guid><dc:creator>Mimetis</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;Et voil&amp;#224;, juste 5 minutes avant le d&amp;#233;but du Key Note, une annonce en passant, la PDC 2009 aura lieu en Novembre 2009 &amp;#224; LA !&lt;/p&gt;  &lt;p&gt;Premi&amp;#232;re fois que deux PDC se suivent d&amp;#39;une ann&amp;#233;e sur l&amp;#39;autre. Enorme.&lt;/p&gt;  &lt;p&gt;Maintenant, la question est : Pourquoi une PDC aussi rapproch&amp;#233;e ? Quelles sont pour vous les rumeurs / annonces qui pourraient y &amp;#234;tre faites .?&lt;/p&gt;  &lt;p&gt;Sortie WIndows 7 RTM ? Visual Studio 10 RTM ?&lt;/p&gt;  &lt;p&gt;Wait &amp;amp; See !!&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Private Joke : Va falloir envoyer du bois sur les PPP !!! ;)&lt;/p&gt;&lt;img src="http://www.dotmim.com/aggbug.aspx?PostID=449" width="1" height="1"&gt;</description><category domain="http://www.dotmim.com/blogs/mim/archive/tags/PDC+2008/default.aspx">PDC 2008</category></item><item><title>PDC Party : Studio Universal</title><link>http://www.dotmim.com/blogs/mim/archive/2008/10/29/pdc-party-studio-universal.aspx</link><pubDate>Wed, 29 Oct 2008 07:08:20 GMT</pubDate><guid isPermaLink="false">f24f4a04-d5df-4071-90fb-39191e3ba06c:447</guid><dc:creator>Mimetis</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;Moi je dis, r&amp;#233;server les studios Universals uniquement pour les participants de la PDC, &amp;#231;a poutre grave.. Merci Microsoft&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.dotmim.com/blogs/mim/WindowsLiveWriter/PDCPartyStudioUniversal_7238/CIMG1104.jpg"&gt;&lt;img style="border-right:0px;border-top:0px;border-left:0px;border-bottom:0px;" height="184" alt="CIMG1104" src="http://www.dotmim.com/blogs/mim/WindowsLiveWriter/PDCPartyStudioUniversal_7238/CIMG1104_thumb.jpg" width="244" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Une super soir&amp;#233;e, o&amp;#249; toutes les attractions &amp;#233;taient gratuites, et tous les restaurants aussi, victuailles et breuvages &amp;#224; volont&amp;#233; !&lt;/p&gt;  &lt;p&gt;Un truc de dingue, que l&amp;#39;on ne peut voir qu&amp;#39;ici !&lt;/p&gt;  &lt;p&gt;Quelques photos en passant :&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.dotmim.com/blogs/mim/WindowsLiveWriter/PDCPartyStudioUniversal_7238/CIMG1077.jpg"&gt;&lt;img style="border-right:0px;border-top:0px;border-left:0px;border-bottom:0px;" height="184" alt="CIMG1077" src="http://www.dotmim.com/blogs/mim/WindowsLiveWriter/PDCPartyStudioUniversal_7238/CIMG1077_thumb.jpg" width="244" border="0" /&gt;&lt;/a&gt; &lt;a href="http://www.dotmim.com/blogs/mim/WindowsLiveWriter/PDCPartyStudioUniversal_7238/CIMG1078.jpg"&gt;&lt;img style="border-right:0px;border-top:0px;border-left:0px;border-bottom:0px;" height="184" alt="CIMG1078" src="http://www.dotmim.com/blogs/mim/WindowsLiveWriter/PDCPartyStudioUniversal_7238/CIMG1078_thumb.jpg" width="244" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Nous avons pu tester pas mal d&amp;#39; attractions &amp;#224; sensation, donc pas trop de photos:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.dotmim.com/blogs/mim/WindowsLiveWriter/PDCPartyStudioUniversal_7238/CIMG1091.jpg"&gt;&lt;img style="border-right:0px;border-top:0px;border-left:0px;border-bottom:0px;" height="184" alt="CIMG1091" src="http://www.dotmim.com/blogs/mim/WindowsLiveWriter/PDCPartyStudioUniversal_7238/CIMG1091_thumb.jpg" width="244" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Certaines m&amp;#234;me se passant tr&amp;#233;s pr&amp;#233;s de l&amp;#39;eau, on a eu droit &amp;#224; la toute derni&amp;#232;re mode, appell&amp;#233;e &amp;quot;&lt;strong&gt;Make it Yellow&lt;/strong&gt;&amp;quot;&lt;/p&gt;  &lt;p&gt;Dans l&amp;#39;ordre de passage des mannequins : Sacha, Jean Pierre, David et moi m&amp;#234;me !&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.dotmim.com/blogs/mim/WindowsLiveWriter/PDCPartyStudioUniversal_7238/CIMG1097.jpg"&gt;&lt;img style="border-right:0px;border-top:0px;border-left:0px;border-bottom:0px;" height="244" alt="CIMG1097" src="http://www.dotmim.com/blogs/mim/WindowsLiveWriter/PDCPartyStudioUniversal_7238/CIMG1097_thumb.jpg" width="184" border="0" /&gt;&lt;/a&gt; &lt;a href="http://www.dotmim.com/blogs/mim/WindowsLiveWriter/PDCPartyStudioUniversal_7238/CIMG1098.jpg"&gt;&lt;img style="border-right:0px;border-top:0px;border-left:0px;border-bottom:0px;" height="244" alt="CIMG1098" src="http://www.dotmim.com/blogs/mim/WindowsLiveWriter/PDCPartyStudioUniversal_7238/CIMG1098_thumb.jpg" width="184" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.dotmim.com/blogs/mim/WindowsLiveWriter/PDCPartyStudioUniversal_7238/CIMG1100.jpg"&gt;&lt;img style="border-right:0px;border-top:0px;border-left:0px;border-bottom:0px;" height="244" alt="CIMG1100" src="http://www.dotmim.com/blogs/mim/WindowsLiveWriter/PDCPartyStudioUniversal_7238/CIMG1100_thumb.jpg" width="184" border="0" /&gt;&lt;/a&gt; &lt;a href="http://www.dotmim.com/blogs/mim/WindowsLiveWriter/PDCPartyStudioUniversal_7238/CIMG1099.jpg"&gt;&lt;img style="border-right:0px;border-top:0px;border-left:0px;border-bottom:0px;" height="244" alt="CIMG1099" src="http://www.dotmim.com/blogs/mim/WindowsLiveWriter/PDCPartyStudioUniversal_7238/CIMG1099_thumb.jpg" width="184" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Un spectacle sympathique :&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.dotmim.com/blogs/mim/WindowsLiveWriter/PDCPartyStudioUniversal_7238/CIMG1087.jpg"&gt;&lt;img style="border-right:0px;border-top:0px;border-left:0px;border-bottom:0px;" height="184" alt="CIMG1087" src="http://www.dotmim.com/blogs/mim/WindowsLiveWriter/PDCPartyStudioUniversal_7238/CIMG1087_thumb.jpg" width="244" border="0" /&gt;&lt;/a&gt; &lt;a href="http://www.dotmim.com/blogs/mim/WindowsLiveWriter/PDCPartyStudioUniversal_7238/CIMG1088.jpg"&gt;&lt;img style="border-right:0px;border-top:0px;border-left:0px;border-bottom:0px;" height="184" alt="CIMG1088" src="http://www.dotmim.com/blogs/mim/WindowsLiveWriter/PDCPartyStudioUniversal_7238/CIMG1088_thumb.jpg" width="244" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.dotmim.com/blogs/mim/WindowsLiveWriter/PDCPartyStudioUniversal_7238/CIMG1089.jpg"&gt;&lt;img style="border-right:0px;border-top:0px;border-left:0px;border-bottom:0px;" height="184" alt="CIMG1089" src="http://www.dotmim.com/blogs/mim/WindowsLiveWriter/PDCPartyStudioUniversal_7238/CIMG1089_thumb.jpg" width="244" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;et comme c&amp;#39;est Halloween, pas mal de zombies &amp;#233;taient dans les rues, j&amp;#39;ai bien failli y passer :)&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.dotmim.com/blogs/mim/WindowsLiveWriter/PDCPartyStudioUniversal_7238/CIMG1106.jpg"&gt;&lt;img style="border-right:0px;border-top:0px;border-left:0px;border-bottom:0px;" height="184" alt="CIMG1106" src="http://www.dotmim.com/blogs/mim/WindowsLiveWriter/PDCPartyStudioUniversal_7238/CIMG1106_thumb.jpg" width="244" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://www.dotmim.com/aggbug.aspx?PostID=447" width="1" height="1"&gt;</description><category domain="http://www.dotmim.com/blogs/mim/archive/tags/PDC+2008/default.aspx">PDC 2008</category></item><item><title>PDC Day 2 : Sync Framework V2</title><link>http://www.dotmim.com/blogs/mim/archive/2008/10/29/pdc-day-2-sync-framework-v2.aspx</link><pubDate>Wed, 29 Oct 2008 06:57:51 GMT</pubDate><guid isPermaLink="false">f24f4a04-d5df-4071-90fb-39191e3ba06c:446</guid><dc:creator>Mimetis</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;Je viens de faire la sessions sur Sync Framework (V2) associ&amp;#233; avec Sql Services.&lt;/p&gt;  &lt;p&gt;Ca poutre !&lt;/p&gt;  &lt;p&gt;Pr&amp;#233;sent&amp;#233; par Liam Cavanagh :&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.dotmim.com/blogs/mim/WindowsLiveWriter/PDCDay2SyncFrameworkV2_6FE4/CIMG1061_2.jpg"&gt;&lt;img style="border-right:0px;border-top:0px;border-left:0px;border-bottom:0px;" height="184" alt="CIMG1061" src="http://www.dotmim.com/blogs/mim/WindowsLiveWriter/PDCDay2SyncFrameworkV2_6FE4/CIMG1061_thumb.jpg" width="244" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Liam nous a pr&amp;#233;sent&amp;#233; un projet qui permet d&amp;#39;unifier aujourd&amp;#39;hui Sync Framework V2 et Sql Services : &lt;strong&gt;Huron&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.dotmim.com/blogs/mim/WindowsLiveWriter/PDCDay2SyncFrameworkV2_6FE4/CIMG1065.jpg"&gt;&lt;img style="border-right:0px;border-top:0px;border-left:0px;border-bottom:0px;" height="184" alt="CIMG1065" src="http://www.dotmim.com/blogs/mim/WindowsLiveWriter/PDCDay2SyncFrameworkV2_6FE4/CIMG1065_thumb.jpg" width="244" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Huron, c&amp;#39;est quoi grosso modo, c&amp;#39;est la partie Provider Client et int&amp;#233;gration dans les applications existantes.&lt;/p&gt;  &lt;p&gt;Un exemple : Access, avec un nouvel onglet permettant de synchroniser ses donn&amp;#233;es &amp;quot;in the cloud&amp;quot; :)&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.dotmim.com/blogs/mim/WindowsLiveWriter/PDCDay2SyncFrameworkV2_6FE4/CIMG1067.jpg"&gt;&lt;img style="border-right:0px;border-top:0px;border-left:0px;border-bottom:0px;" height="184" alt="CIMG1067" src="http://www.dotmim.com/blogs/mim/WindowsLiveWriter/PDCDay2SyncFrameworkV2_6FE4/CIMG1067_thumb.jpg" width="244" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;A noter au passage que Sync Framework V2 et Huron g&amp;#232;rent correctement les tables auto-incr&amp;#233;ment&amp;#233;es, v&amp;#233;ritable plaie dans la synchronisation.&lt;/p&gt;  &lt;p&gt;Comment ? En allouant des plages d&amp;#39;identifiants &amp;#224; chaque client :&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.dotmim.com/blogs/mim/WindowsLiveWriter/PDCDay2SyncFrameworkV2_6FE4/CIMG1068.jpg"&gt;&lt;img style="border-right:0px;border-top:0px;border-left:0px;border-bottom:0px;" height="184" alt="CIMG1068" src="http://www.dotmim.com/blogs/mim/WindowsLiveWriter/PDCDay2SyncFrameworkV2_6FE4/CIMG1068_thumb.jpg" width="244" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Une vue du Ribbon Access Pour Huron :&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.dotmim.com/blogs/mim/WindowsLiveWriter/PDCDay2SyncFrameworkV2_6FE4/CIMG1069.jpg"&gt;&lt;img style="border-right:0px;border-top:0px;border-left:0px;border-bottom:0px;" height="184" alt="CIMG1069" src="http://www.dotmim.com/blogs/mim/WindowsLiveWriter/PDCDay2SyncFrameworkV2_6FE4/CIMG1069_thumb.jpg" width="244" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Sachez que vous pouvez d&amp;#39;ores et d&amp;#233;j&amp;#224; tester Huron, dans la CTP de Sync Framework V2.&lt;/p&gt;  &lt;p&gt;Attention, Cette version n&amp;#39;est pas compatible avec Sync Framework V1, et ne peut &amp;#234;tre install&amp;#233;e Side By Side. Faudra attendre un peu :)&lt;/p&gt;  &lt;p&gt;Voici l&amp;#39;annonce sur le blog de Liam : &lt;a href="http://blogs.msdn.com/sync/archive/2008/10/28/annoucing-sync-framework-v2-ctp1.aspx"&gt;Sync Framework V2&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;Et maintenant ...: GO TO THE PARTY (Studio Universal)&lt;/p&gt;&lt;img src="http://www.dotmim.com/aggbug.aspx?PostID=446" width="1" height="1"&gt;</description><category domain="http://www.dotmim.com/blogs/mim/archive/tags/PDC+2008/default.aspx">PDC 2008</category><category domain="http://www.dotmim.com/blogs/mim/archive/tags/Sync+Framework/default.aspx">Sync Framework</category></item><item><title>PDC : Rencontre avec Liam Cavanagh</title><link>http://www.dotmim.com/blogs/mim/archive/2008/10/28/pdc-rencontre-avec-liam-cavanagh.aspx</link><pubDate>Tue, 28 Oct 2008 20:45:24 GMT</pubDate><guid isPermaLink="false">f24f4a04-d5df-4071-90fb-39191e3ba06c:443</guid><dc:creator>Mimetis</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;Je viens juste &amp;#224; l&amp;#39;instant de rencontrer &lt;a href="http://blogs.msdn.com/sync/"&gt;Liam Cavanagh&lt;/a&gt;, Program Manager de l&amp;#39;&amp;#233;quipe Sync Framework.&lt;/p&gt;  &lt;p&gt;Grand moment quand un gars comme &amp;#231;a vous dit &amp;quot;Oh you&amp;#39;re the french guy who wrote those articles ! I Know you, i want your feedback !&amp;quot;&lt;/p&gt;  &lt;p&gt;Ok c&amp;#39;est bon je peux mourrir tranquille l&amp;#224; :)&lt;/p&gt;  &lt;p&gt;Et en plus je lui ai fil&amp;#233; ma carte, et il m&amp;#39;a fil&amp;#233; la sienne ... Vive Los Angeles et la PDC !!&lt;/p&gt;&lt;img src="http://www.dotmim.com/aggbug.aspx?PostID=443" width="1" height="1"&gt;</description><category domain="http://www.dotmim.com/blogs/mim/archive/tags/Sync+Services+for+ADO.NET/default.aspx">Sync Services for ADO.NET</category><category domain="http://www.dotmim.com/blogs/mim/archive/tags/PDC+2008/default.aspx">PDC 2008</category></item><item><title>PDC Day 2</title><link>http://www.dotmim.com/blogs/mim/archive/2008/10/28/pdc-day-2.aspx</link><pubDate>Tue, 28 Oct 2008 15:19:36 GMT</pubDate><guid isPermaLink="false">f24f4a04-d5df-4071-90fb-39191e3ba06c:441</guid><dc:creator>Mimetis</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;Le plus important avant de commencer une longue journ&amp;#233;e de sessions, et juste avant les deux keynotes, il faut DEJEUNER !!&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.catuhe.com/"&gt;David&lt;/a&gt; en plein effort :)&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.dotmim.com/blogs/mim/WindowsLiveWriter/PDCDay2_E578/CIMG1049.jpg"&gt;&lt;img style="border-right:0px;border-top:0px;border-left:0px;border-bottom:0px;" height="184" alt="CIMG1049" src="http://www.dotmim.com/blogs/mim/WindowsLiveWriter/PDCDay2_E578/CIMG1049_thumb.jpg" width="244" border="0" /&gt;&lt;/a&gt;&amp;#160;&lt;a href="http://www.dotmim.com/blogs/mim/WindowsLiveWriter/PDCDay2_E578/CIMG1050.jpg"&gt;&lt;img style="border-right:0px;border-top:0px;border-left:0px;border-bottom:0px;" height="184" alt="CIMG1050" src="http://www.dotmim.com/blogs/mim/WindowsLiveWriter/PDCDay2_E578/CIMG1050_thumb.jpg" width="244" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Et &lt;a href="http://blog.djeepy1.net/"&gt;Jean Pierre&lt;/a&gt; , un geek qui s&amp;#39;ignore pas !&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.dotmim.com/blogs/mim/WindowsLiveWriter/PDCDay2_E578/CIMG1051.jpg"&gt;&lt;img style="border-right:0px;border-top:0px;border-left:0px;border-bottom:0px;" height="184" alt="CIMG1051" src="http://www.dotmim.com/blogs/mim/WindowsLiveWriter/PDCDay2_E578/CIMG1051_thumb.jpg" width="244" border="0" /&gt;&lt;/a&gt;&amp;#160; &lt;/p&gt;  &lt;p&gt;Allez, le Key note is about to start ! (yeah !!)&lt;/p&gt;&lt;img src="http://www.dotmim.com/aggbug.aspx?PostID=441" width="1" height="1"&gt;</description><category domain="http://www.dotmim.com/blogs/mim/archive/tags/PDC+2008/default.aspx">PDC 2008</category></item><item><title>PDC Key notes : WINDOWS AZURE !</title><link>http://www.dotmim.com/blogs/mim/archive/2008/10/27/pdc-key-notes-windows-azure.aspx</link><pubDate>Mon, 27 Oct 2008 16:17:40 GMT</pubDate><guid isPermaLink="false">f24f4a04-d5df-4071-90fb-39191e3ba06c:437</guid><dc:creator>Mimetis</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;Bon ben en direct du key notes de la PDC, avec l&amp;#39;annonce de WINDOWS AZURE !&lt;/p&gt;  &lt;p&gt;J&amp;#39;essais de vous en parler plus tard...&lt;/p&gt;  &lt;p&gt;Juste pour info, je suis &amp;#224; cot&amp;#233; de &lt;a href="http://weblogs.asp.net/Bleroy/"&gt;Bertrand Leroy&lt;/a&gt;, faut que je lui demande un autographe, ce mec est juste g&amp;#233;nial (simple et abordable, appr&amp;#233;ciable)&lt;/p&gt;  &lt;p&gt;Vala, c&amp;#39;est super,&amp;#160; &amp;#224;&amp;#160; Toute !&lt;/p&gt;&lt;img src="http://www.dotmim.com/aggbug.aspx?PostID=437" width="1" height="1"&gt;</description><category domain="http://www.dotmim.com/blogs/mim/archive/tags/PDC+2008/default.aspx">PDC 2008</category></item><item><title>PDC : Sunday</title><link>http://www.dotmim.com/blogs/mim/archive/2008/10/27/pdc-sunday.aspx</link><pubDate>Mon, 27 Oct 2008 03:18:29 GMT</pubDate><guid isPermaLink="false">f24f4a04-d5df-4071-90fb-39191e3ba06c:433</guid><dc:creator>Mimetis</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt; Ok aujourd&amp;#39;hui, c&amp;#39;est visite et d&amp;#233;tente.&lt;/p&gt;  &lt;p&gt;La PDC commence demain, aujourd&amp;#39;hui seules les pr&amp;#233; conf&amp;#233;rences sont jou&amp;#233;s.&lt;/p&gt;  &lt;p&gt;Sacha et moi m&amp;#234;me sommes all&amp;#233;s retirer les entr&amp;#233;es, accompagn&amp;#233;s de Laurent Kemp&amp;#233; et S&amp;#233;bastien Ros&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.dotmim.com/blogs/mim/WindowsLiveWriter/PDCSunday_3C46/CIMG0976.jpg"&gt;&lt;img style="border-right:0px;border-top:0px;border-left:0px;border-bottom:0px;" height="184" alt="CIMG0976" src="http://www.dotmim.com/blogs/mim/WindowsLiveWriter/PDCSunday_3C46/CIMG0976_thumb.jpg" width="244" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;La PDC c&amp;#39;est juste ... &amp;#233;norme !&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.dotmim.com/blogs/mim/WindowsLiveWriter/PDCSunday_3C46/CIMG0977.jpg"&gt;&lt;img style="border-right:0px;border-top:0px;border-left:0px;border-bottom:0px;" height="184" alt="CIMG0977" src="http://www.dotmim.com/blogs/mim/WindowsLiveWriter/PDCSunday_3C46/CIMG0977_thumb.jpg" width="244" border="0" /&gt;&lt;/a&gt;&amp;#160;&lt;a href="http://www.dotmim.com/blogs/mim/WindowsLiveWriter/PDCSunday_3C46/CIMG0978.jpg"&gt;&lt;img style="border-right:0px;border-top:0px;border-left:0px;border-bottom:0px;" height="184" alt="CIMG0978" src="http://www.dotmim.com/blogs/mim/WindowsLiveWriter/PDCSunday_3C46/CIMG0978_thumb.jpg" width="244" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Le market place, mon dieu, un endroit o&amp;#249; il ne faut pas que je reste plus de 10 minutes, sinon mes dollars vont vite s&amp;#39;envoler :)&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.dotmim.com/blogs/mim/WindowsLiveWriter/PDCSunday_3C46/CIMG0983.jpg"&gt;&lt;img style="border-right:0px;border-top:0px;border-left:0px;border-bottom:0px;" height="184" alt="CIMG0983" src="http://www.dotmim.com/blogs/mim/WindowsLiveWriter/PDCSunday_3C46/CIMG0983_thumb.jpg" width="244" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Une simple photo de la salle o&amp;#249; nous avons pu prendre le petit d&amp;#233;jeuner :&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.dotmim.com/blogs/mim/WindowsLiveWriter/PDCSunday_3C46/CIMG0980.jpg"&gt;&lt;img style="border-right:0px;border-top:0px;border-left:0px;border-bottom:0px;" height="184" alt="CIMG0980" src="http://www.dotmim.com/blogs/mim/WindowsLiveWriter/PDCSunday_3C46/CIMG0980_thumb.jpg" width="244" border="0" /&gt;&lt;/a&gt; &lt;a href="http://www.dotmim.com/blogs/mim/WindowsLiveWriter/PDCSunday_3C46/CIMG0981.jpg"&gt;&lt;img style="border-right:0px;border-top:0px;border-left:0px;border-bottom:0px;" height="184" alt="CIMG0981" src="http://www.dotmim.com/blogs/mim/WindowsLiveWriter/PDCSunday_3C46/CIMG0981_thumb.jpg" width="244" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Bref, &amp;#231;a promet :)&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Le reste de la journ&amp;#233;e a &amp;#233;t&amp;#233; consacr&amp;#233;e &amp;#224; la visite de LA ainsi que la cote, je vous mets quelques photos en passant :&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.dotmim.com/blogs/mim/WindowsLiveWriter/PDCSunday_3C46/CIMG0993.jpg"&gt;&lt;img style="border-right:0px;border-top:0px;border-left:0px;border-bottom:0px;" height="184" alt="CIMG0993" src="http://www.dotmim.com/blogs/mim/WindowsLiveWriter/PDCSunday_3C46/CIMG0993_thumb.jpg" width="244" border="0" /&gt;&lt;/a&gt; &lt;a href="http://www.dotmim.com/blogs/mim/WindowsLiveWriter/PDCSunday_3C46/CIMG0996.jpg"&gt;&lt;img style="border-right:0px;border-top:0px;border-left:0px;border-bottom:0px;" height="184" alt="CIMG0996" src="http://www.dotmim.com/blogs/mim/WindowsLiveWriter/PDCSunday_3C46/CIMG0996_thumb.jpg" width="244" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.dotmim.com/blogs/mim/WindowsLiveWriter/PDCSunday_3C46/CIMG0997.jpg"&gt;&lt;img style="border-right:0px;border-top:0px;border-left:0px;border-bottom:0px;" height="184" alt="CIMG0997" src="http://www.dotmim.com/blogs/mim/WindowsLiveWriter/PDCSunday_3C46/CIMG0997_thumb.jpg" width="244" border="0" /&gt;&lt;/a&gt;&amp;#160;&lt;a href="http://www.dotmim.com/blogs/mim/WindowsLiveWriter/PDCSunday_3C46/CIMG1008.jpg"&gt;&lt;img style="border-right:0px;border-top:0px;border-left:0px;border-bottom:0px;" height="184" alt="CIMG1008" src="http://www.dotmim.com/blogs/mim/WindowsLiveWriter/PDCSunday_3C46/CIMG1008_thumb.jpg" width="244" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;a href="http://www.dotmim.com/blogs/mim/WindowsLiveWriter/PDCSunday_3C46/CIMG1015.jpg"&gt;&lt;img style="border-right:0px;border-top:0px;border-left:0px;border-bottom:0px;" height="184" alt="CIMG1015" src="http://www.dotmim.com/blogs/mim/WindowsLiveWriter/PDCSunday_3C46/CIMG1015_thumb.jpg" width="244" border="0" /&gt;&lt;/a&gt; &lt;a href="http://www.dotmim.com/blogs/mim/WindowsLiveWriter/PDCSunday_3C46/CIMG1032.jpg"&gt;&lt;img style="border-right:0px;border-top:0px;border-left:0px;border-bottom:0px;" height="184" alt="CIMG1032" src="http://www.dotmim.com/blogs/mim/WindowsLiveWriter/PDCSunday_3C46/CIMG1032_thumb.jpg" width="244" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://www.dotmim.com/aggbug.aspx?PostID=433" width="1" height="1"&gt;</description><category domain="http://www.dotmim.com/blogs/mim/archive/tags/PDC+2008/default.aspx">PDC 2008</category></item><item><title>1st Day PDC : Overbooké</title><link>http://www.dotmim.com/blogs/mim/archive/2008/10/26/1st-day-pdc-overbook-233.aspx</link><pubDate>Sun, 26 Oct 2008 05:46:44 GMT</pubDate><guid isPermaLink="false">f24f4a04-d5df-4071-90fb-39191e3ba06c:423</guid><dc:creator>Mimetis</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;Overbook&amp;#233; qu&amp;#39;ils m&amp;#39;ont dit !&lt;/p&gt;  &lt;p&gt;Bon alors non, pas dans l&amp;#39;avion entre Toulouse et Paris ou Paris - Los Angeles, mais &amp;#224; l&amp;#39;hotel Roosevelt o&amp;#249; nous allons r&amp;#233;sider pendant toute la semaine.&lt;/p&gt;  &lt;p&gt;Fatigu&amp;#233;, j&amp;#39;ai bien ma r&amp;#233;servation pour une simple chambre &amp;quot;comme tout le monde&amp;quot;, et ben non, y&amp;#39;en a plus.&lt;/p&gt;  &lt;p&gt;Bon sang, j&amp;#39;ai une r&amp;#233;servation, j&amp;#39;ai beau lui montrer, pas moyen, y&amp;#39;a rien...&lt;/p&gt;  &lt;p&gt;Argh.... je vais dormir dehors ? Apr&amp;#233;s 13h dans les jambes et un d&amp;#233;calage de 9h dans les dents ?&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;JE VEUX MA CHAMBRE&amp;#160; !&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Comme ils disent ... OMG !&lt;/p&gt;  &lt;p&gt;Et bien, pas du tout, je ne dormirais pas dehors ce soir :) Je dirais m&amp;#234;me plus que je vais plut&amp;#244;t bien dormir ce soir !&lt;/p&gt;  &lt;p&gt;Pour bien commencer la semaine, l&amp;#39;hotel m&amp;#39;a donn&amp;#233; la seule chambre restante pour cette nuit... la plus grande suite de l&amp;#39;hotel !&lt;/p&gt;  &lt;p&gt;Pour tout vous dire, je suis en train d&amp;#39;&amp;#233;crire d&amp;#39;une chambre qui est tout simplement plus grande que mon appartement !!&lt;/p&gt;  &lt;p&gt;Bref, je vous laisse d&amp;#233;couvrir les photos d&amp;#39;un petit consultant dans la chambre de Georges Clooney :)&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Vue de l&amp;#39;entr&amp;#233;e :&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.dotmim.com/blogs/mim/WindowsLiveWriter/1stDayPDCOverbook_5F34/CIMG0967.jpg"&gt;&lt;img style="border-top-width:0px;border-left-width:0px;border-bottom-width:0px;border-right-width:0px;" height="184" alt="CIMG0967" src="http://www.dotmim.com/blogs/mim/WindowsLiveWriter/1stDayPDCOverbook_5F34/CIMG0967_thumb.jpg" width="244" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Vue de la chambre (qui est derri&amp;#232;re moi)&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.dotmim.com/blogs/mim/WindowsLiveWriter/1stDayPDCOverbook_5F34/CIMG0968.jpg"&gt;&lt;img style="border-top-width:0px;border-left-width:0px;border-bottom-width:0px;border-right-width:0px;" height="184" alt="CIMG0968" src="http://www.dotmim.com/blogs/mim/WindowsLiveWriter/1stDayPDCOverbook_5F34/CIMG0968_thumb.jpg" width="244" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;le canap&amp;#233; qui fait fasse &amp;#224; mon premier grand &amp;#233;cran plat (le deuxi&amp;#232;me est dans la chambre :))&lt;/p&gt;  &lt;p&gt;et derri&amp;#232;re les deux fen&amp;#234;tre donnent directement sur Hollywood boolevard, on y voit pas mal d&amp;#39;&amp;#233;toiles par terre, la classe quoi&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.dotmim.com/blogs/mim/WindowsLiveWriter/1stDayPDCOverbook_5F34/CIMG0969.jpg"&gt;&lt;img style="border-top-width:0px;border-left-width:0px;border-bottom-width:0px;border-right-width:0px;" height="184" alt="CIMG0969" src="http://www.dotmim.com/blogs/mim/WindowsLiveWriter/1stDayPDCOverbook_5F34/CIMG0969_thumb.jpg" width="244" border="0" /&gt;&lt;/a&gt; *&lt;/p&gt;  &lt;p&gt;Le fameux grand &amp;#233;cran&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.dotmim.com/blogs/mim/WindowsLiveWriter/1stDayPDCOverbook_5F34/CIMG0972.jpg"&gt;&lt;img style="border-top-width:0px;border-left-width:0px;border-bottom-width:0px;border-right-width:0px;" height="184" alt="CIMG0972" src="http://www.dotmim.com/blogs/mim/WindowsLiveWriter/1stDayPDCOverbook_5F34/CIMG0972_thumb.jpg" width="244" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Une vue dans l&amp;#39;autre sens o&amp;#249; l&amp;#39;ont voit le lit dans le fond&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.dotmim.com/blogs/mim/WindowsLiveWriter/1stDayPDCOverbook_5F34/CIMG0970.jpg"&gt;&lt;img style="border-top-width:0px;border-left-width:0px;border-bottom-width:0px;border-right-width:0px;" height="184" alt="CIMG0970" src="http://www.dotmim.com/blogs/mim/WindowsLiveWriter/1stDayPDCOverbook_5F34/CIMG0970_thumb.jpg" width="244" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;le lit, avec le deuxi&amp;#232;me &amp;#233;cran :)&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.dotmim.com/blogs/mim/WindowsLiveWriter/1stDayPDCOverbook_5F34/CIMG0974.jpg"&gt;&lt;img style="border-top-width:0px;border-left-width:0px;border-bottom-width:0px;border-right-width:0px;" height="184" alt="CIMG0974" src="http://www.dotmim.com/blogs/mim/WindowsLiveWriter/1stDayPDCOverbook_5F34/CIMG0974_thumb.jpg" width="244" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Bon et je vous passe le coin bureau, et les deux salles de bain, dans chaque coin de la pi&amp;#232;ce !&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Bon tout ceci ne durera qu&amp;#39;un soir, puisque demain, je r&amp;#233; emm&amp;#233;nage dans une chambre &amp;quot;classique&amp;quot;&lt;/p&gt;  &lt;p&gt;Ah &amp;#231;a a du bon des fois le surbooking dans les grands hotels !&lt;/p&gt;  &lt;p&gt;bon il est 7h00 &amp;#224; Paris et ici il est 22H je crois, je suis mort&lt;/p&gt;  &lt;p&gt;A demain :)&lt;/p&gt;&lt;img src="http://www.dotmim.com/aggbug.aspx?PostID=423" width="1" height="1"&gt;</description></item><item><title>Sync Services : Custom Resolver</title><link>http://www.dotmim.com/blogs/mim/archive/2008/10/20/sync-services-custom-resolver.aspx</link><pubDate>Mon, 20 Oct 2008 06:56:49 GMT</pubDate><guid isPermaLink="false">f24f4a04-d5df-4071-90fb-39191e3ba06c:371</guid><dc:creator>Mimetis</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;Je viens de publier la suite de ma s&amp;#233;rie d&amp;#39;articles sur Sync. Services.&lt;/p&gt;  &lt;p&gt;Il s&amp;#39;agit de la mise en place d&amp;#39;un custom resolver lors d&amp;#39;une synchronisation.&lt;/p&gt;  &lt;p&gt;Vous trouverez l&amp;#39;ensemble des solutions possibles de r&amp;#233;solution de conflit, que ce soir cot&amp;#233; serveur comme cot&amp;#233; client.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.techheadbrothers.com/Articles.aspx/iv-sync-services-for-ado-net-creer-custom-resolver"&gt;Chapitre IV : Sync Services : Custom Resolver&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Si ce n&amp;#39;est pas d&amp;#233;j&amp;#224; le ca, je vous conseille de relire les permiers chapitres, avant d&amp;#39;entamer celui ci :&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;&lt;a href="http://www.techheadbrothers.com/Articles.aspx/introduction-microsoft-synchronization-framework"&gt;Chapitre I : Introduction &amp;#224; Sync Services.&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.techheadbrothers.com/Articles.aspx/ii-synchronisation-manuelle-personnalisation"&gt;Chapitre II : Synchronisation personnalis&amp;#233;e avec Sync. Services.&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.techheadbrothers.com/Articles.aspx/sync-services-for-ado-net-wcf"&gt;Chapitre III : Mise en place d&amp;#39;une synchronisation d&amp;#233;port&amp;#233;e avec WCF et Sync. Services.&lt;/a&gt; &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;Bonne synchro (et r&amp;#233;solution de conflit biensur :))&lt;/p&gt;&lt;img src="http://www.dotmim.com/aggbug.aspx?PostID=371" width="1" height="1"&gt;</description></item><item><title>MCTS SQL SERVER 2008</title><link>http://www.dotmim.com/blogs/mim/archive/2008/10/09/mcts-sql-server-2008.aspx</link><pubDate>Thu, 09 Oct 2008 08:29:00 GMT</pubDate><guid isPermaLink="false">f24f4a04-d5df-4071-90fb-39191e3ba06c:356</guid><dc:creator>Mimetis</dc:creator><slash:comments>1</slash:comments><description>&lt;p&gt;&lt;a href="http://www.dotmim.com/blogs/mim/CertifsLogos/MCTS_2008.gif"&gt;&lt;img src="http://www.dotmim.com/blogs/mim/CertifsLogos/MCTS_2008.gif" border="0" alt="" /&gt;&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Bonne nouvelle du jour, je viens de recevoir ma certification &lt;strong&gt;MCTS SQL SERVER 2008&lt;/strong&gt; !&lt;/p&gt;
&lt;p&gt;J&amp;#39;ai passé l&amp;#39;examen avec mon confrère et collègue &lt;a class="" href="http://blog.djeepy1.net/" target="_blank"&gt;Jean Pierre&lt;/a&gt; cet été lors des sessions &lt;strong&gt;BETA&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Au menu, une bonne certification, qui fait la place belle à l&amp;#39;administration, et au développement sous &lt;strong&gt;SQL SERVER 2008&lt;/strong&gt;.&lt;br /&gt;Biensur, elle y aborde les principales nouveautés de &lt;strong&gt;SQL SERVER 2008&lt;/strong&gt;, mais revient aussi sur des acquis important de SQL SERVER en général.&lt;/p&gt;
&lt;p&gt;A la sortie de l&amp;#39;examen, nous étions d&amp;#39;accord pour dire que cette certif. est de loin bien plus pointue que les précedentes.&lt;br /&gt;On peut honnetement penser que MS a voulu relever le niveau.&lt;/p&gt;
&lt;p&gt;C&amp;#39;est donc vraiment une agréable surprise, car nous n&amp;#39;étions pas forcément convaincu de faire péter un joli score sur ce coup là !&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;img src="http://www.dotmim.com/aggbug.aspx?PostID=356" width="1" height="1"&gt;</description></item><item><title>Sync Services for ADO.Net on Devices is alive</title><link>http://www.dotmim.com/blogs/mim/archive/2008/09/17/sync-services-for-ado-net-on-devices-is-alive.aspx</link><pubDate>Wed, 17 Sep 2008 12:54:30 GMT</pubDate><guid isPermaLink="false">f24f4a04-d5df-4071-90fb-39191e3ba06c:350</guid><dc:creator>Mimetis</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;La version Sync Services for Device vient de passer hier en RTM.&lt;/p&gt;  &lt;p&gt;Pour t&amp;#233;l&amp;#233;charger cette version, rendez vous ici : &lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=75FEF59F-1B5E-49BC-A21A-9EF4F34DE6FC&amp;amp;displaylang=en"&gt;Sync Services for ADO.NET on Devices&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Attention, &amp;#224; ne pas confondre cette librairie, exlusivement d&amp;#233;stin&amp;#233;e aux devices &amp;#233;quip&amp;#233;s de Windows mobile 5 , 6+ et Sync Services for ADO.NET desktops, que vous avez int&amp;#233;gr&amp;#233; dans Visual Studio 2008.&lt;/p&gt;  &lt;p&gt;Par contre, biensur ces deux librairies sont compatibles entre elles, et les sc&amp;#233;narios de connection et synchronisation entre un device, un desktop et un serveur sont tout &amp;#224; fait possible, et conseill&amp;#233; !&lt;/p&gt;  &lt;p&gt;D&amp;#39;ailleurs, vous avez un petit sample dans le SDK fourni avec &lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=75FEF59F-1B5E-49BC-A21A-9EF4F34DE6FC&amp;amp;displaylang=en"&gt;Sync Services for ADO.NET on Devices&lt;/a&gt; qui vous permettra de vous faire une bonne id&amp;#233;e de ce qui est possible de faire !&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Bonne synchro ;)&lt;/p&gt;&lt;img src="http://www.dotmim.com/aggbug.aspx?PostID=350" width="1" height="1"&gt;</description></item><item><title>Donnez des droits de lecture sur des procedures stockees</title><link>http://www.dotmim.com/blogs/mim/archive/2008/09/15/donnez-des-droits-de-lecture-sur-des-procedures-stockees.aspx</link><pubDate>Mon, 15 Sep 2008 16:17:25 GMT</pubDate><guid isPermaLink="false">f24f4a04-d5df-4071-90fb-39191e3ba06c:349</guid><dc:creator>Mimetis</dc:creator><slash:comments>2</slash:comments><description>&lt;p&gt;Dans la s&amp;#233;rie tutorial du jour, voici une question r&amp;#233;cente d&amp;#39;un client :&lt;/p&gt;  &lt;p&gt;&amp;quot;&lt;em&gt;Comment ne donner de droits qu&amp;#39;aux proc&amp;#233;dures stock&amp;#233;es de ma base ?&lt;/em&gt;&amp;quot;&lt;/p&gt;  &lt;p&gt;C&amp;#39;est parti :&lt;/p&gt;  &lt;p&gt;1) D&amp;#39;abord cr&amp;#233;er un Login Sql Server (&amp;#224; ne pas confondre avec l&amp;#39;utilisateur base de donn&amp;#233;es !)&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.dotmim.com/blogs/mim/WindowsLiveWriter/Donnezdesdroitsdelecturesurdesprocduress_100E9/image_2.png"&gt;&lt;img style="border-right:0px;border-top:0px;border-left:0px;border-bottom:0px;" height="120" alt="image" src="http://www.dotmim.com/blogs/mim/WindowsLiveWriter/Donnezdesdroitsdelecturesurdesprocduress_100E9/image_thumb.png" width="244" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;On cr&amp;#233;e un login pour permettre une connexion au serveur. Ce qui permet &amp;quot;juste que de&amp;quot; se connecter, et rien d&amp;#39;autre&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.dotmim.com/blogs/mim/WindowsLiveWriter/Donnezdesdroitsdelecturesurdesprocduress_100E9/image_4.png"&gt;&lt;img style="border-right:0px;border-top:0px;border-left:0px;border-bottom:0px;" height="219" alt="image" src="http://www.dotmim.com/blogs/mim/WindowsLiveWriter/Donnezdesdroitsdelecturesurdesprocduress_100E9/image_thumb_1.png" width="244" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;2) Une fois le login cr&amp;#233;&amp;#233;, on cr&amp;#233;e, sur la base de donne&amp;#233;s (Demo chez moi)&amp;#160; l&amp;#39;utilisateur associ&amp;#233; &amp;#224; :&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;ce login&lt;/li&gt;    &lt;li&gt;cette base de donn&amp;#233;es&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://www.dotmim.com/blogs/mim/WindowsLiveWriter/Donnezdesdroitsdelecturesurdesprocduress_100E9/image_6.png"&gt;&lt;img style="border-right:0px;border-top:0px;border-left:0px;border-bottom:0px;" height="244" alt="image" src="http://www.dotmim.com/blogs/mim/WindowsLiveWriter/Donnezdesdroitsdelecturesurdesprocduress_100E9/image_thumb_2.png" width="225" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Ce qui veut dire que lorsque monsieur X se connecte avec le login d&amp;#233;fini avant et qu&amp;#39;il tente une action sur la base de donn&amp;#233;es, il aura les droits de cet utilisateur.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.dotmim.com/blogs/mim/WindowsLiveWriter/Donnezdesdroitsdelecturesurdesprocduress_100E9/image_8.png"&gt;&lt;img style="border-right:0px;border-top:0px;border-left:0px;border-bottom:0px;" height="219" alt="image" src="http://www.dotmim.com/blogs/mim/WindowsLiveWriter/Donnezdesdroitsdelecturesurdesprocduress_100E9/image_thumb_3.png" width="244" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Notez (et c&amp;#39;est assez fr&amp;#233;quent) que dans mon exemple, le login et le nom d&amp;#39;utilisateur sont les m&amp;#234;me, mais ceci n&amp;#39;est absolument pas obligatoire.&lt;/p&gt;  &lt;p&gt;Bien, nous avons cr&amp;#233;&amp;#233; notre utilisateur. Il n&amp;#39;a tjs aucun droits particulier, si ce n&amp;#39;est le n&amp;#233;ant absolu, proche de l&amp;#39;&amp;#232;re glaciaire.&lt;/p&gt;  &lt;p&gt;3) Nous allons donc lui donner les droits d&amp;#39;&amp;#233;x&amp;#233;cution sur une proc&amp;#233;dure stock&amp;#233;e : &lt;strong&gt;sGetAllClients. (&lt;/strong&gt;Notez que j&amp;#39;ai d&amp;#39;autres proc&amp;#233;dures stock&amp;#233;es, auxquelles je ne donne pas de droits particulier)&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.dotmim.com/blogs/mim/WindowsLiveWriter/Donnezdesdroitsdelecturesurdesprocduress_100E9/image_10.png"&gt;&lt;img style="border-right:0px;border-top:0px;border-left:0px;border-bottom:0px;" height="244" alt="image" src="http://www.dotmim.com/blogs/mim/WindowsLiveWriter/Donnezdesdroitsdelecturesurdesprocduress_100E9/image_thumb_4.png" width="185" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Direction onglet Permissions, et nous recherchons notre utilisateur&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.dotmim.com/blogs/mim/WindowsLiveWriter/Donnezdesdroitsdelecturesurdesprocduress_100E9/image_12.png"&gt;&lt;img style="border-right:0px;border-top:0px;border-left:0px;border-bottom:0px;" height="155" alt="image" src="http://www.dotmim.com/blogs/mim/WindowsLiveWriter/Donnezdesdroitsdelecturesurdesprocduress_100E9/image_thumb_5.png" width="244" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Sur lequel nous lui affectons les droits d&amp;#39;&amp;#233;x&amp;#233;cution&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.dotmim.com/blogs/mim/WindowsLiveWriter/Donnezdesdroitsdelecturesurdesprocduress_100E9/image_14.png"&gt;&lt;img style="border-right:0px;border-top:0px;border-left:0px;border-bottom:0px;" height="219" alt="image" src="http://www.dotmim.com/blogs/mim/WindowsLiveWriter/Donnezdesdroitsdelecturesurdesprocduress_100E9/image_thumb_6.png" width="244" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Et voil&amp;#224;, c&amp;#39;est fini.&lt;/p&gt;  &lt;p&gt;Un petit test : Je me connecte avec mon fameux login :&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.dotmim.com/blogs/mim/WindowsLiveWriter/Donnezdesdroitsdelecturesurdesprocduress_100E9/image_16.png"&gt;&lt;img style="border-right:0px;border-top:0px;border-left:0px;border-bottom:0px;" height="184" alt="image" src="http://www.dotmim.com/blogs/mim/WindowsLiveWriter/Donnezdesdroitsdelecturesurdesprocduress_100E9/image_thumb_7.png" width="244" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Je d&amp;#233;roule le noeud proc stock de ma base, at oh miracle, seule la proc&amp;#233;dure stock&amp;#233;e que j&amp;#39;ai le droits d&amp;#39;&amp;#233;x&amp;#233;cuter apparait (notez le cadenas qui indique que je n&amp;#39;ai pas le droit de la modifier)&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.dotmim.com/blogs/mim/WindowsLiveWriter/Donnezdesdroitsdelecturesurdesprocduress_100E9/image_18.png"&gt;&lt;img style="border-right:0px;border-top:0px;border-left:0px;border-bottom:0px;" height="203" alt="image" src="http://www.dotmim.com/blogs/mim/WindowsLiveWriter/Donnezdesdroitsdelecturesurdesprocduress_100E9/image_thumb_8.png" width="244" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;et ex&amp;#233;cution&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.dotmim.com/blogs/mim/WindowsLiveWriter/Donnezdesdroitsdelecturesurdesprocduress_100E9/image_20.png"&gt;&lt;img style="border-right:0px;border-top:0px;border-left:0px;border-bottom:0px;" height="112" alt="image" src="http://www.dotmim.com/blogs/mim/WindowsLiveWriter/Donnezdesdroitsdelecturesurdesprocduress_100E9/image_thumb_9.png" width="244" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Et voil&amp;#224;, fini !&lt;/p&gt;&lt;img src="http://www.dotmim.com/aggbug.aspx?PostID=349" width="1" height="1"&gt;</description><category domain="http://www.dotmim.com/blogs/mim/archive/tags/SQL+SERVER+2005/default.aspx">SQL SERVER 2005</category><category domain="http://www.dotmim.com/blogs/mim/archive/tags/SQL+SERVER+2008/default.aspx">SQL SERVER 2008</category></item><item><title>DataSet, N Tiers, Linq To Sql</title><link>http://www.dotmim.com/blogs/mim/archive/2008/08/19/dataset-n-tiers-linq-to-sql.aspx</link><pubDate>Tue, 19 Aug 2008 09:08:26 GMT</pubDate><guid isPermaLink="false">f24f4a04-d5df-4071-90fb-39191e3ba06c:323</guid><dc:creator>Mimetis</dc:creator><slash:comments>2</slash:comments><description>&lt;p&gt;Quel rapport entre DataSet, une architecture multi-tiers et Linq to SQL ?&lt;/p&gt;  &lt;p&gt;Pas facile ? Si si, juste un Designer qui g&amp;#233;n&amp;#232;re tout pour nous dans Visual Studio 2008, que ce soit pour un DataSet typ&amp;#233; ou pour un DataContext Linq To SQL.&lt;/p&gt;  &lt;p&gt;Oui mais voil&amp;#224;, l&amp;#224; o&amp;#249; &amp;#231;a se complique (si on peut dire) c&amp;#39; est lorsque qu&amp;#39; on veut faire une petite architecture 3 tiers (soyons pas fou, restons simple)&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Dans Visual Studio 2008, le Designer du DataSet est capable de se g&amp;#233;n&amp;#233;rer dans 2 projets distincts.&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Un projet contenant les &lt;strong&gt;DataTables typ&amp;#233;s&lt;/strong&gt;.&lt;/li&gt;    &lt;li&gt;Un projet contenant les &lt;strong&gt;TableAdapters typ&amp;#233;s&lt;/strong&gt;.&lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;Tout &amp;#231;a gr&amp;#226;ce &amp;#224; la petite option magique : &lt;strong&gt;DataSet Project&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;img style="border-right:0px;border-top:0px;border-left:0px;border-bottom:0px;" height="315" alt="image" src="http://www.dotmim.com/blogs/mim/WindowsLiveWriter/DataSetNTiersLinqToSql_D41B/image_6.png" width="514" border="0" /&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Voil&amp;#224; &amp;#224;&amp;#160; quoi ressemble ma solution :&lt;/p&gt;  &lt;p&gt;&lt;img style="border-right:0px;border-top:0px;border-left:0px;border-bottom:0px;" height="302" alt="image" src="http://www.dotmim.com/blogs/mim/WindowsLiveWriter/DataSetNTiersLinqToSql_D41B/image_5.png" width="504" border="0" /&gt;&amp;#160; &lt;/p&gt;  &lt;p&gt;C&amp;#39; est beau, c&amp;#39; est propre et &amp;#231;a marche.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Alors, je vous le demande, Pourquoi ils n&amp;#39;ont pas fait pareil pour Linq To SQL !!!&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;J&amp;#39; avais esp&amp;#233;r&amp;#233; secr&amp;#232;tement que le SP1 de Visual Studio 2008 apporte cette feature, mais ce n&amp;#39;est pas le cas (si je me trompe, montrez moi, je serai super heureux si c&amp;#39;&amp;#233;tait le cas)&lt;/p&gt;  &lt;p&gt;Alors comment on fait aujourd&amp;#39;hui ? eh ben &amp;#224; la main, on passe le DataContext en internal et on copie colle le DataContext dans l&amp;#39;assembly service en le repassant en public.&lt;/p&gt;  &lt;p&gt;Et si on rajoute des tables au sch&amp;#233;ma, bah on recommence l&amp;#39;op&amp;#233;ration.&lt;/p&gt;  &lt;p&gt;C&amp;#39;est pas critique, mais je trouve &amp;#231;a dommage ...&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Voil&amp;#224; mon coup de gueule du jour :)&lt;/p&gt;&lt;img src="http://www.dotmim.com/aggbug.aspx?PostID=323" width="1" height="1"&gt;</description><category domain="http://www.dotmim.com/blogs/mim/archive/tags/Visual+Studio+2008/default.aspx">Visual Studio 2008</category><category domain="http://www.dotmim.com/blogs/mim/archive/tags/Linq+To+SQL/default.aspx">Linq To SQL</category></item><item><title>Visual Studio 2008 SP1 Release. Framework 3.5 SP1 Release</title><link>http://www.dotmim.com/blogs/mim/archive/2008/08/11/visual-studio-2008-sp1-release-framework-3-5-sp1-release.aspx</link><pubDate>Mon, 11 Aug 2008 16:51:30 GMT</pubDate><guid isPermaLink="false">f24f4a04-d5df-4071-90fb-39191e3ba06c:322</guid><dc:creator>Mimetis</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;Et voil&amp;#224;, apr&amp;#233;s la sortie en release de Sql Server 2008, voici venir aujourd&amp;#39;hui le service pack 1 de Visual Studio 2008 (et par la m&amp;#234;me occase le sp1 du fx 3.5)&lt;/p&gt;  &lt;p&gt;&lt;a title="http://msdn.microsoft.com/en-us/vstudio/cc533448.aspx" href="http://msdn.microsoft.com/en-us/vstudio/cc533448.aspx"&gt;http://msdn.microsoft.com/en-us/vstudio/cc533448.aspx&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Et hop !&lt;/p&gt;&lt;img src="http://www.dotmim.com/aggbug.aspx?PostID=322" width="1" height="1"&gt;</description></item><item><title>Sql Server 2008 Alive !</title><link>http://www.dotmim.com/blogs/mim/archive/2008/08/07/sql-server-2008-alive.aspx</link><pubDate>Thu, 07 Aug 2008 07:51:34 GMT</pubDate><guid isPermaLink="false">f24f4a04-d5df-4071-90fb-39191e3ba06c:321</guid><dc:creator>Mimetis</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;&lt;img style="border-right:0px;border-top:0px;border-left:0px;border-bottom:0px;" height="74" alt="image" src="http://www.dotmim.com/blogs/mim/WindowsLiveWriter/SqlServer2008Alive_8AA8/image_5.png" width="244" border="0" /&gt; &lt;/p&gt;  &lt;p&gt;Et voil&amp;#224;, SQL Server 2008 est enfin sortie en Release 1.0 &lt;/p&gt;  &lt;p&gt;Allez Hop, un ti tour sur MSDN et voil&amp;#224; la bonne surprise !&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.dotmim.com/blogs/mim/WindowsLiveWriter/SqlServer2008Alive_8AA8/image_2.png"&gt;&lt;img style="border-right:0px;border-top:0px;border-left:0px;border-bottom:0px;" height="284" alt="image" src="http://www.dotmim.com/blogs/mim/WindowsLiveWriter/SqlServer2008Alive_8AA8/image_thumb.png" width="644" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Allez, va falloir faire p&amp;#233;ter la bande passante ! &lt;img alt="Big Hug" src="http://us.i1.yimg.com/us.yimg.com/i/mesg/emoticons7/6.gif" /&gt;&lt;/p&gt;&lt;img src="http://www.dotmim.com/aggbug.aspx?PostID=321" width="1" height="1"&gt;</description><category domain="http://www.dotmim.com/blogs/mim/archive/tags/SQL+SERVER+2008/default.aspx">SQL SERVER 2008</category></item><item><title>Sql Server CE, Multi Threads, Multi User. Part II</title><link>http://www.dotmim.com/blogs/mim/archive/2008/08/06/sql-server-ce-multi-threads-multi-user-part-ii.aspx</link><pubDate>Wed, 06 Aug 2008 07:37:16 GMT</pubDate><guid isPermaLink="false">f24f4a04-d5df-4071-90fb-39191e3ba06c:319</guid><dc:creator>Mimetis</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;Ce post fait suite au &lt;a href="http://www.dotmim.com/blogs/mim/archive/2008/08/05/sql-server-ce-multi-threads-multi-user.aspx" target="_blank"&gt;post d&amp;#39;hier&lt;/a&gt;, au sujet du multi threading avec Sql Server CE&lt;/p&gt;  &lt;p&gt;Dans l&amp;#39;exemple, nous avons d&amp;#233;montrer que nous ne pouvions pas faire de multi threading et que nous remontions de vieilles exceptions pas extraordinaire.&lt;/p&gt;  &lt;p&gt;D&amp;#39;ailleurs, j&amp;#39;&amp;#233;tais confort&amp;#233; par cette id&amp;#233;e, au vu d&amp;#39;un post de &lt;a href="http://www.ayende.com/Blog/archive/2008/07/03/In-search-of-an-embedded-DB.aspx" target="_blank"&gt;Ayende&lt;/a&gt; quand celui ci cherchait une base de donn&amp;#233;e embarqu&amp;#233;e.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;En fait il existe une solution.&lt;/p&gt;  &lt;p&gt;Sql Server CE accepte le multi threading, &amp;#224; partir du moment o&amp;#249; chaque &lt;strong&gt;thread poss&amp;#232;de sa propre SqlCeConnection&lt;/strong&gt;.&lt;/p&gt;  &lt;p&gt;Mais me direz vous, &amp;#231;a parait normal que chaque op&amp;#233;ration cr&amp;#233;e une nouvelle Connection, r&amp;#233;flexe d&amp;#39;utilisation de Sql Server et son pool de connexion.&lt;/p&gt;  &lt;p&gt;Nous n&amp;#39;en avons pas sur Sql Server CE.&lt;/p&gt;  &lt;p&gt;Et l&amp;#224; o&amp;#249; c&amp;#39;est balot, c&amp;#39;est que ce n&amp;#39;est ni Sql Server CE, ni mes Services asynchrones qui &amp;#233;taient en erreur .. mais &lt;strong&gt;Linq to Sql&lt;/strong&gt; et ma petite classe &lt;strong&gt;static&lt;/strong&gt; Manager, qui est charg&amp;#233;e de me rapatrier une connexion SqlCeConnection.&lt;/p&gt;  &lt;p&gt;Pour expliquer ce geste de folie, un DataContext Linq n&amp;#233;cessite en constructeur une connexion (SqlCeConnection dans mon cas)&lt;/p&gt;  &lt;p&gt;J&amp;#39;avais donc &amp;#233;crit un truc du genre:&lt;/p&gt;  &lt;p&gt;&lt;span style="color:blue;"&gt;&amp;#160; private static &lt;/span&gt;SqlCeConnection configurationDbConnection;    &lt;br /&gt;&amp;#160;&lt;span style="color:gray;"&gt;/// &amp;lt;summary&amp;gt;     &lt;br /&gt;///&lt;/span&gt;&lt;span style="color:green;"&gt;Get Connection From Configuration File if any     &lt;br /&gt; &lt;/span&gt;&lt;span style="color:gray;"&gt;/// &amp;lt;/summary&amp;gt;     &lt;br /&gt; &lt;/span&gt;&lt;span style="color:blue;"&gt;public static &lt;/span&gt;SqlCeConnection ConfigurationDbConnection    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; {    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:blue;"&gt;get     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:blue;"&gt;if&lt;/span&gt;(configurationDbConnection != &lt;span style="color:blue;"&gt;null&lt;/span&gt;)    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:blue;"&gt;return &lt;/span&gt;configurationDbConnection;    &lt;br /&gt;    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ConnectionStringSettings connection = &lt;/p&gt;  &lt;pre class="code"&gt;           ConfigurationManager.ConnectionStrings[&lt;span style="color:#a31515;"&gt;&amp;quot;LocalDatabaseConnection&amp;quot;&lt;/span&gt;] &lt;/pre&gt;

&lt;pre class="code"&gt;           &lt;span style="color:blue;"&gt;as &lt;/span&gt;ConnectionStringSettings;

     &lt;span style="color:blue;"&gt;if &lt;/span&gt;(connection == &lt;span style="color:blue;"&gt;null &lt;/span&gt;&amp;amp;&amp;amp; ConfigurationManager.ConnectionStrings.Count &amp;gt; 1 &amp;amp;&amp;amp;
        ConfigurationManager.ConnectionStrings[1].ProviderName == &lt;span style="color:#a31515;"&gt;&amp;quot;Microsoft.SqlServerCe.Client.3.5&amp;quot;&lt;/span&gt;)
        connection = ConfigurationManager.ConnectionStrings[1] &lt;span style="color:blue;"&gt;as &lt;/span&gt;ConnectionStringSettings;

     &lt;span style="color:blue;"&gt;if &lt;/span&gt;(connection == &lt;span style="color:blue;"&gt;null&lt;/span&gt;) &lt;/pre&gt;

&lt;pre class="code"&gt;       &lt;span style="color:blue;"&gt;throw new &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;ApplicationException&lt;/span&gt;(&lt;span style="color:#a31515;"&gt;&amp;quot;No Connection String in application configuration file&amp;quot;&lt;/span&gt;);


     configurationDbConnection = &lt;span style="color:blue;"&gt;new &lt;/span&gt;SqlCeConnection(connection.ConnectionString);

     &lt;span style="color:blue;"&gt;return &lt;/span&gt;configurationDbConnection;
 }
}&lt;/pre&gt;

&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;p&gt;On voit que je stocke la connection cr&amp;#233;&amp;#233;e dans une variable statique.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Monumentale ERREUR !!&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Chacun des threads cr&amp;#233;ant son propre DataContexte, va utiliser la M&amp;#202;ME Connexion qu&amp;#39; un autre thread (static inside)&lt;/p&gt;

&lt;p&gt;Pour &amp;#234;tre s&amp;#251;r que chaque DataContexte cr&amp;#233;e sa propre connexion, il suffit juste d&amp;#39; appeler son constructeur avec un param&amp;#232;tre non pas une connexion, mais juste une cha&amp;#238;ne de connexion.&lt;/p&gt;

&lt;p&gt;Un petit coup de reflector, nous montre qu&amp;#39;il va alors bien cr&amp;#233;er une nouvelle connexion :&lt;/p&gt;

&lt;p&gt;&lt;img style="border-right:0px;border-top:0px;border-left:0px;border-bottom:0px;" height="349" alt="image" src="http://www.dotmim.com/blogs/mim/WindowsLiveWriter/SqlServerCEMultiThreadsMultiUser.PartII_8744/image_3.png" width="604" border="0" /&gt; &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;provider.CreateConnection()&lt;/strong&gt; appellant le &lt;strong&gt;DbProviderFactory&lt;/strong&gt; de &lt;strong&gt;SqlServerCe&lt;/strong&gt;, celui ci retournant un joli &lt;strong&gt;new SqlCeConnection()&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Du coup, mon petit code de mon Manager devient :&lt;/p&gt;

&lt;pre class="code"&gt;&lt;span style="color:blue;"&gt;private static &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;ConnectionStringSettings &lt;/span&gt;connectionStringSettings;
&lt;span style="color:gray;"&gt;/// &amp;lt;summary&amp;gt;
/// &lt;/span&gt;&lt;span style="color:green;"&gt;Get Connection From Configuration File if any
&lt;/span&gt;&lt;span style="color:gray;"&gt;/// &amp;lt;/summary&amp;gt;
&lt;/span&gt;&lt;span style="color:blue;"&gt;public static &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;SqlCeConnection &lt;/span&gt;GetConfigurationDbConnection()
{
    &lt;span style="color:blue;"&gt;if &lt;/span&gt;(connectionStringSettings == &lt;span style="color:blue;"&gt;null&lt;/span&gt;)
    {
        connectionStringSettings = &lt;/pre&gt;

&lt;pre class="code"&gt;                  &lt;span style="color:#2b91af;"&gt;ConfigurationManager&lt;/span&gt;.ConnectionStrings[&lt;span style="color:#a31515;"&gt;&amp;quot;LocalDatabaseConnection&amp;quot;&lt;/span&gt;] &lt;/pre&gt;

&lt;pre class="code"&gt;                  &lt;span style="color:blue;"&gt;as &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;ConnectionStringSettings&lt;/span&gt;;

        &lt;span style="color:blue;"&gt;if &lt;/span&gt;(connectionStringSettings == &lt;span style="color:blue;"&gt;null &lt;/span&gt;&amp;amp;&amp;amp; &lt;span style="color:#2b91af;"&gt;ConfigurationManager&lt;/span&gt;.ConnectionStrings.Count &amp;gt; 1 &amp;amp;&amp;amp;
                &lt;span style="color:#2b91af;"&gt;ConfigurationManager&lt;/span&gt;.ConnectionStrings[1].ProviderName == &lt;span style="color:#a31515;"&gt;&amp;quot;Microsoft.SqlServerCe.Client.3.5&amp;quot;&lt;/span&gt;)
            connectionStringSettings = &lt;span style="color:#2b91af;"&gt;ConfigurationManager&lt;/span&gt;.ConnectionStrings[1] &lt;span style="color:blue;"&gt;as &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;ConnectionStringSettings&lt;/span&gt;;

        &lt;span style="color:blue;"&gt;if &lt;/span&gt;(connectionStringSettings == &lt;span style="color:blue;"&gt;null&lt;/span&gt;) &lt;/pre&gt;

&lt;pre class="code"&gt;           &lt;span style="color:blue;"&gt;throw new &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;ApplicationException&lt;/span&gt;(&lt;span style="color:#a31515;"&gt;&amp;quot;No Connection String in application configuration file&amp;quot;&lt;/span&gt;);
    }

    &lt;span style="color:blue;"&gt;return new &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;SqlCeConnection&lt;/span&gt;(connectionStringSettings.ConnectionString);
}&lt;/pre&gt;

&lt;p&gt;Et l&amp;#224;, miracle (ou pas ) tout fonctionne...&lt;/p&gt;

&lt;h2&gt;Conclusion&lt;/h2&gt;

&lt;p&gt;Alors, pour faire du multi threading avec Sql Server CE, pensez &amp;#224; une chose importante :&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Chaque Thread doit avoir sa propre connexion.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;A partir de l&amp;#224;, tout roule.&lt;/p&gt;

&lt;p&gt;Et si on reprend les caract&amp;#233;ristiques de Sql Server CE, on peut cr&amp;#233;er 256 connexion simultan&amp;#233;es, ce qui vous laisse de la marge !&lt;/p&gt;&lt;img src="http://www.dotmim.com/aggbug.aspx?PostID=319" width="1" height="1"&gt;</description></item><item><title>Sql Server CE, Multi Threads, Multi User</title><link>http://www.dotmim.com/blogs/mim/archive/2008/08/05/sql-server-ce-multi-threads-multi-user.aspx</link><pubDate>Tue, 05 Aug 2008 14:04:00 GMT</pubDate><guid isPermaLink="false">f24f4a04-d5df-4071-90fb-39191e3ba06c:316</guid><dc:creator>Mimetis</dc:creator><slash:comments>3</slash:comments><description>&lt;p&gt;Et voilà, je viens d&amp;#39;y passer une journée (encore ...) et non, Sql Server CE, n&amp;#39;est PAS multi thread safe...&lt;/p&gt;
&lt;p&gt;Alors voilà soyons clair :&lt;/p&gt;
&lt;table class="" cellspacing="0" cellpadding="2"&gt;

&lt;tr&gt;
&lt;td class=""&gt;
&lt;p&gt;&lt;strong&gt;&lt;font color="#800000" size="3"&gt;Feature&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td class=""&gt;
&lt;p&gt;&lt;strong&gt;&lt;font color="#800000" size="3"&gt;SQL CE&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td class=""&gt;
&lt;p&gt;Size of total deployment&lt;/p&gt;&lt;/td&gt;
&lt;td class=""&gt;
&lt;p&gt;1,834 KB&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td class=""&gt;
&lt;p&gt;Number of concurrent connections&lt;/p&gt;&lt;/td&gt;
&lt;td class=""&gt;256&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td class=""&gt;
&lt;p&gt;Concurrent process connections&lt;/p&gt;&lt;/td&gt;
&lt;td class=""&gt;1&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td class=""&gt;
&lt;p&gt;Database Size Limit&lt;/p&gt;&lt;/td&gt;
&lt;td class=""&gt;4GB&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td class=""&gt;
&lt;p&gt;Max CPUs Supported&lt;/p&gt;&lt;/td&gt;
&lt;td class=""&gt;1&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;p&gt;Alors la conclusion est consternante, mais :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Oui&lt;/strong&gt;, vous pouvez ouvrir plein de connections simultannément &lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Non&lt;/strong&gt;, vous ne pouvez pas ouvrir 2 connections sur 2 threads séparés.. &lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;Maintenant, un exemple que je viens de faire.&lt;/p&gt;
&lt;p&gt;Une petite application où je teste 3 cas. Dans chacun des cas, je fais 1 appels sur 2 services différents. Chaque service me renvoyant des données provenant d&amp;#39;une base de donnée Sql Server CE.&lt;/p&gt;
&lt;p&gt;les 3 cas que je veux tester :&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Apel des 2 services en synchrone, histoire de vérifier que ça marche dans un cas classique mono thread &lt;/li&gt;
&lt;li&gt;Appel de mes 2 services par WCF, en monde Asynchrone (via les proxys générés et leurs appels asynchrones générés) &lt;/li&gt;
&lt;li&gt;Appel de mes 2 services directement, et utilisation de BackgroundWorkers &lt;/li&gt;&lt;/ol&gt;
&lt;p&gt;L&amp;#39;application est architecturée de manière classique.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Une UI &lt;/li&gt;
&lt;li&gt;Un Service WCF &lt;/li&gt;
&lt;li&gt;Un projet Entité, partagé par le service et l&amp;#39;UI &lt;/li&gt;&lt;/ol&gt;
&lt;p&gt;&amp;nbsp;&lt;a href="http://www.dotmim.com/blogs/mim/WindowsLiveWriter/SqlServerCEMultiThreadsMultiUser_E1F9/image_2.png"&gt;&lt;img style="BORDER-TOP-WIDTH:0px;BORDER-LEFT-WIDTH:0px;BORDER-BOTTOM-WIDTH:0px;BORDER-RIGHT-WIDTH:0px;" height="244" alt="image" src="http://www.dotmim.com/blogs/mim/WindowsLiveWriter/SqlServerCEMultiThreadsMultiUser_E1F9/image_thumb.png" width="133" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;Je fais un peu de WCF, mes services sont exposés et je génère les proxys des services via un &amp;quot;&lt;strong&gt;Add Service Reference&lt;/strong&gt;&amp;quot; :&lt;/p&gt;
&lt;p&gt;&lt;img style="BORDER-TOP-WIDTH:0px;BORDER-LEFT-WIDTH:0px;BORDER-BOTTOM-WIDTH:0px;BORDER-RIGHT-WIDTH:0px;" height="58" alt="image" src="http://www.dotmim.com/blogs/mim/WindowsLiveWriter/SqlServerCEMultiThreadsMultiUser_E1F9/image_5.png" width="233" border="0" /&gt; &lt;/p&gt;
&lt;p&gt;&lt;u&gt;Note&lt;/u&gt; : Je demande à générer les appels asynchrones, sinon aucun intéret de tester le multi-threading :)&lt;/p&gt;
&lt;p&gt;&lt;u&gt;Petit Hack dans mon architecture&lt;/u&gt; : Pour le 3eme cas, je référence directement mon assembly service dans mon projet UI (Rhoooo c&amp;#39;est pas bien; mais c&amp;#39;est pour l&amp;#39;exemple :))&lt;/p&gt;
&lt;p&gt;Pour information, j&amp;#39;ai utilisé Linq To Sql pour générer le dbml dans le projet Entités, mais pour être absolument sûr du résultat, j&amp;#39;utilise une bonne vielle connection ADO.NET et je génère les commandes à la main.&lt;/p&gt;
&lt;h2&gt;Cas 1 : WCF Synchrone&lt;/h2&gt;
&lt;p&gt;&lt;u&gt;Je crée mes 2 services (mes proxys) :&lt;/u&gt;&lt;/p&gt;&lt;pre class="code"&gt;&lt;span style="COLOR:green;"&gt;// For Exemple 1 and 2 : use of WCF Services
&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;public &lt;/span&gt;ClientProxy.&lt;span style="COLOR:#2b91af;"&gt;ClientServicesClient &lt;/span&gt;ClientServices { &lt;span style="COLOR:blue;"&gt;get&lt;/span&gt;; &lt;span style="COLOR:blue;"&gt;set&lt;/span&gt;; }
&lt;span style="COLOR:blue;"&gt;public &lt;/span&gt;ParameterProxy.&lt;span style="COLOR:#2b91af;"&gt;ParameterServicesClient &lt;/span&gt;ParameterServices{ &lt;span style="COLOR:blue;"&gt;get&lt;/span&gt;; &lt;span style="COLOR:blue;"&gt;set&lt;/span&gt;; }&lt;/pre&gt;
&lt;p&gt;&lt;u&gt;Je les instancie au démarrage :&lt;/u&gt;&lt;/p&gt;&lt;pre class="code"&gt;ClientServices = &lt;span style="COLOR:blue;"&gt;new &lt;/span&gt;SqlServerCE_WCFAsync.ClientProxy.&lt;span style="COLOR:#2b91af;"&gt;ClientServicesClient&lt;/span&gt;();
ParameterServices = &lt;span style="COLOR:blue;"&gt;new &lt;/span&gt;SqlServerCE_WCFAsync.ParameterProxy.&lt;span style="COLOR:#2b91af;"&gt;ParameterServicesClient&lt;/span&gt;();&lt;/pre&gt;
&lt;p&gt;&lt;u&gt;J&amp;#39;appel mes 2 services :&lt;/u&gt;&lt;/p&gt;&lt;pre class="code"&gt;&lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;.dataGridView1.DataSource  = ClientServices.GetClients2();

&lt;span style="COLOR:blue;"&gt;var &lt;/span&gt;p = ParameterServices.GetParameter(&lt;span style="COLOR:#a31515;"&gt;&amp;quot;AddressMail&amp;quot;&lt;/span&gt;);
&lt;span style="COLOR:blue;"&gt;if &lt;/span&gt;(p != &lt;span style="COLOR:blue;"&gt;null&lt;/span&gt;)
{
    label1.Text = p.Value;
}&lt;/pre&gt;&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;
&lt;p&gt;Bon, ben ça, ça fonctionne... &lt;/p&gt;
&lt;p&gt;Continuons..&lt;/p&gt;
&lt;h2&gt;Cas 2 : WCF Asynchrone&lt;/h2&gt;
&lt;p&gt;Mes 2 services sont créés (voir Cas 1)&lt;/p&gt;
&lt;p&gt;Je configure le service Client, pour qu&amp;#39;il utilise son proxy de manière asynchrone :&lt;/p&gt;&lt;pre class="code"&gt;ClientServices.GetClients2Completed += ClientServices_GetClients2Completed;&lt;/pre&gt;
&lt;p&gt;&lt;u&gt;je crée la méthode Completed :&lt;/u&gt;&lt;/p&gt;&lt;pre class="code"&gt;&lt;span style="COLOR:blue;"&gt;void &lt;/span&gt;ClientServices_GetClients2Completed(&lt;span style="COLOR:blue;"&gt;object &lt;/span&gt;sender, &lt;/pre&gt;&lt;pre class="code"&gt;             SqlServerCE_WCFAsync.ClientProxy.&lt;span style="COLOR:#2b91af;"&gt;GetClients2CompletedEventArgs &lt;/span&gt;e)
  {
      &lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;.dataGridView1.DataSource = e.Result;
  }&lt;/pre&gt;
&lt;p&gt;&lt;u&gt;Et je tente d&amp;#39;appeller ce service en asynchrone, alors que j&amp;#39;appel le service Parameter en synchrone lui :&lt;/u&gt;&lt;/p&gt;&lt;pre class="code"&gt;ClientServices.GetClients2Async();
&lt;span style="COLOR:blue;"&gt;var &lt;/span&gt;p = ParameterServices.GetParameter2(&lt;span style="COLOR:#a31515;"&gt;&amp;quot;AddressMail&amp;quot;&lt;/span&gt;);
&lt;span style="COLOR:blue;"&gt;if &lt;/span&gt;(p != &lt;span style="COLOR:blue;"&gt;null&lt;/span&gt;)
{
    label1.Text = p.Value;
}&lt;/pre&gt;
&lt;p&gt;Et là ça se vautre lamentablement avec une exception qui ferait frémir un mamouth congelé :&lt;/p&gt;
&lt;p&gt;&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;A first chance exception of type &amp;#39;System.AccessViolationException&amp;#39; occurred in System.Data.SqlServerCe.dll &lt;br /&gt;Attempted to read or write protected memory. This is often an indication that other memory is corrupt.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&amp;quot;&lt;/p&gt;
&lt;h2&gt;Cas 3 : Utilisation de BackGroundWorker&lt;/h2&gt;
&lt;p&gt;Ici, je me passe de WCF (et donc je référence directement l&amp;#39;assembly service dans mon projet UI)&lt;/p&gt;
&lt;p&gt;et je tente d&amp;#39;utiliser un BackGroundWorker sur le service ClientServices et je fais un appel direct sur le service ParameterServices&lt;/p&gt;
&lt;p&gt;&lt;u&gt;Configuration du BackGroundWorker :&lt;/u&gt;&lt;/p&gt;&lt;pre class="code"&gt;bgw1 = &lt;span style="COLOR:blue;"&gt;new &lt;/span&gt;&lt;span style="COLOR:#2b91af;"&gt;BackgroundWorker&lt;/span&gt;();
bgw1.DoWork += &lt;span style="COLOR:blue;"&gt;new &lt;/span&gt;&lt;span style="COLOR:#2b91af;"&gt;DoWorkEventHandler&lt;/span&gt;(bgw1_DoWork);
bgw1.RunWorkerCompleted += &lt;span style="COLOR:blue;"&gt;new &lt;/span&gt;&lt;span style="COLOR:#2b91af;"&gt;RunWorkerCompletedEventHandler&lt;/span&gt;(bgw1_RunWorkerCompleted);&lt;/pre&gt;
&lt;p&gt;&lt;u&gt;Configuration du travail à effectuer :&lt;/u&gt;&lt;/p&gt;&lt;pre class="code"&gt;&lt;span style="COLOR:blue;"&gt;void &lt;/span&gt;bgw1_DoWork(&lt;span style="COLOR:blue;"&gt;object &lt;/span&gt;sender, &lt;span style="COLOR:#2b91af;"&gt;DoWorkEventArgs &lt;/span&gt;e)
 {
     SqlServerCE_WCFServices.&lt;span style="COLOR:#2b91af;"&gt;ClientServices &lt;/span&gt;service = &lt;span style="COLOR:blue;"&gt;new &lt;/span&gt;SqlServerCE_WCFServices.&lt;span style="COLOR:#2b91af;"&gt;ClientServices&lt;/span&gt;();

     e.Result = service.GetClients2();

 }&lt;/pre&gt;
&lt;p&gt;&lt;u&gt;Configuration du completed du BackGround Worker :&lt;/u&gt;&lt;/p&gt;&lt;pre class="code"&gt;&lt;span style="COLOR:blue;"&gt;void &lt;/span&gt;bgw1_RunWorkerCompleted(&lt;span style="COLOR:blue;"&gt;object &lt;/span&gt;sender, &lt;span style="COLOR:#2b91af;"&gt;RunWorkerCompletedEventArgs &lt;/span&gt;e)
  {
      &lt;span style="COLOR:blue;"&gt;if &lt;/span&gt;(e.Error != &lt;span style="COLOR:blue;"&gt;null&lt;/span&gt;)
          &lt;span style="COLOR:#2b91af;"&gt;Trace&lt;/span&gt;.WriteLine(&lt;span style="COLOR:#a31515;"&gt;&amp;quot;Erreur in User Interface in GetClients. Exception : &amp;quot; &lt;/span&gt;+ e.Error.Message);

      &lt;span style="COLOR:blue;"&gt;if &lt;/span&gt;(e.Cancelled)
          &lt;span style="COLOR:#2b91af;"&gt;Trace&lt;/span&gt;.WriteLine(&lt;span style="COLOR:#a31515;"&gt;&amp;quot;Action cancelled in User Interface in GetClients&amp;quot;&lt;/span&gt;);

      &lt;span style="COLOR:blue;"&gt;this&lt;/span&gt;.dataGridView1.DataSource = e.Result &lt;span style="COLOR:blue;"&gt;as &lt;/span&gt;&lt;span style="COLOR:#2b91af;"&gt;List&lt;/span&gt;&amp;lt;&lt;span style="COLOR:#2b91af;"&gt;Client&lt;/span&gt;&amp;gt;;

  }&lt;/pre&gt;
&lt;p&gt;&lt;u&gt;Appel :&lt;/u&gt;&lt;/p&gt;&lt;pre class="code"&gt;bgw1.RunWorkerAsync();

SqlServerCE_WCFServices.&lt;span style="COLOR:#2b91af;"&gt;ParameterServices &lt;/span&gt;service = &lt;span style="COLOR:blue;"&gt;new &lt;/span&gt;SqlServerCE_WCFServices.&lt;span style="COLOR:#2b91af;"&gt;ParameterServices&lt;/span&gt;();
&lt;span style="COLOR:blue;"&gt;var &lt;/span&gt;p = service.GetParameter2(&lt;span style="COLOR:#a31515;"&gt;&amp;quot;AddressMail&amp;quot;&lt;/span&gt;);
&lt;span style="COLOR:blue;"&gt;if &lt;/span&gt;(p != &lt;span style="COLOR:blue;"&gt;null&lt;/span&gt;)
{
    label1.Text = p.Value;
}&lt;/pre&gt;
&lt;p&gt;Et là, c&amp;#39;est le drame ...&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&amp;quot;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;A first chance exception of type &amp;#39;System.AccessViolationException&amp;#39; occurred in System.Data.SqlServerCe.dll &lt;br /&gt;Attempted to read or write protected memory. This is often an indication that other memory is corrupt&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;&amp;quot;&lt;/p&gt;
&lt;h2&gt;Conclusion&lt;/h2&gt;
&lt;p&gt;Alors voilà, conclusion:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Oui, utilisez un BackGround Worker pour faire des appels asynchrone et rendre votre application moins freezée et plus agréable&lt;/li&gt;
&lt;li&gt;Non, n&amp;#39;utilisez pas d&amp;#39;appel asynchrone sur plusieurs threads...&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;Et là, je demande, comment faire avec WCF ?? Le monsieur génère un Thread par Service Proxy... c&amp;#39;est balôt ! &lt;/p&gt;
&lt;p&gt;Et je demande encore, comment faire une opération (de maintenance, ou de synchronisation) en arrière plan dans mon application desktop sous SQL Server CE ? Je demande à mon utilisateur d&amp;#39;être sympa et de pas faire de requêtes en attendant ??&lt;/p&gt;
&lt;p&gt;Je laisse le code à disposition si le coeur vous tente :)&lt;/p&gt;&lt;img src="http://www.dotmim.com/aggbug.aspx?PostID=316" width="1" height="1"&gt;</description><enclosure url="http://www.dotmim.com/blogs/mim/attachment/316.ashx" length="202988" type="application/x-zip-compressed" /><category domain="http://www.dotmim.com/blogs/mim/archive/tags/Sql+Server+CE/default.aspx">Sql Server CE</category></item><item><title>Sync Services : Client Sql Server Express</title><link>http://www.dotmim.com/blogs/mim/archive/2008/07/24/sync-services-client-sql-server-express.aspx</link><pubDate>Thu, 24 Jul 2008 07:18:38 GMT</pubDate><guid isPermaLink="false">f24f4a04-d5df-4071-90fb-39191e3ba06c:315</guid><dc:creator>Mimetis</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;Beaucoup de personnes me demandent souvent s&amp;#39;il existe le provider client Sync Services pour SQL Server Express.&lt;/p&gt;  &lt;p&gt;Pour rappel, nativement, il existe le provider client Sql Server CE. &lt;/p&gt;  &lt;p&gt;Et bien sachez qu&amp;#39;il existe maintenant ce fameux provider de synchronisation client, sous forme d&amp;#39;exemple !&lt;/p&gt;  &lt;p&gt;Il n&amp;#39;est pas tout &amp;#224; fait complet mais reste une bonne base pour appr&amp;#233;hender la cr&amp;#233;ation d&amp;#39;un fournisseur de synchronisation client &lt;img alt="Smile" src="http://messenger.msn.com/MMM2006-04-19_17.00/Resource/emoticons/regular_smile.gif" /&gt;&lt;/p&gt;  &lt;p&gt;Vous le trouverez &lt;a href="http://code.msdn.microsoft.com/Release/ProjectReleases.aspx?ProjectName=sync&amp;amp;ReleaseId=1200" target="_blank"&gt;ici &amp;#224; t&amp;#233;l&amp;#233;charger&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Vous allez donc d&amp;#233;couvrir une classe qui h&amp;#233;rite de ClientSyncProvider&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;pre class="code"&gt;&lt;span style="color:blue;"&gt;public class &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;SqlExpressClientSyncProvider &lt;/span&gt;: &lt;span style="color:#2b91af;"&gt;ClientSyncProvider
&lt;/span&gt;{&lt;/pre&gt;

&lt;pre class="code"&gt;...&lt;/pre&gt;

&lt;p&gt;&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;}&lt;/p&gt;

&lt;p&gt;Cette classe doit impl&amp;#233;menter diff&amp;#233;rentes m&amp;#233;thodes pour fonctionner, qui sont pour rappel :&lt;/p&gt;

&lt;pre class="code"&gt;&lt;span style="color:blue;"&gt;&lt;/span&gt;&lt;/pre&gt;

&lt;ul&gt;
  &lt;li&gt;
    &lt;pre class="code"&gt;&lt;span style="color:blue;"&gt;public override &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;SyncContext &lt;/span&gt;ApplyChanges(&lt;span style="color:#2b91af;"&gt;SyncGroupMetadata &lt;/span&gt;groupMetadata, &lt;br /&gt;&lt;span style="color:#2b91af;"&gt;DataSet &lt;/span&gt;dataSet, &lt;span style="color:#2b91af;"&gt;SyncSession &lt;/span&gt;syncSession)&lt;/pre&gt;
  &lt;/li&gt;

  &lt;ul&gt;
    &lt;li&gt;Cette m&amp;#233;thode applique les changements sur la source de donn&amp;#233;es client.&lt;/li&gt;
  &lt;/ul&gt;

  &lt;li&gt;
    &lt;pre class="code"&gt;&lt;span style="color:blue;"&gt;public override &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;SyncContext &lt;/span&gt;GetChanges(&lt;span style="color:#2b91af;"&gt;SyncGroupMetadata &lt;/span&gt;groupMetadata, &lt;br /&gt;&lt;span style="color:#2b91af;"&gt;SyncSession &lt;/span&gt;syncSession)&lt;/pre&gt;
  &lt;/li&gt;

  &lt;ul&gt;
    &lt;li&gt;
      &lt;pre class="code"&gt;R&amp;#233;cup&amp;#232;re les changements survenus sur la source de donn&amp;#233;es client.&lt;/pre&gt;
    &lt;/li&gt;
  &lt;/ul&gt;

  &lt;li&gt;
    &lt;pre class="code"&gt;&lt;span style="color:blue;"&gt;public override &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;SyncAnchor &lt;/span&gt;GetTableReceivedAnchor(&lt;span style="color:blue;"&gt;string &lt;/span&gt;tableName)&lt;/pre&gt;
  &lt;/li&gt;

  &lt;ul&gt;
    &lt;li&gt;
      &lt;pre class="code"&gt;R&amp;#233;cup&amp;#232;re la derni&amp;#232;re ancre &lt;strong&gt;g&amp;#233;n&amp;#233;r&amp;#233;e &lt;/strong&gt;de la table param&amp;#232;tre &lt;br /&gt;(pour rappel l&amp;#39;ancre &amp;#233;tant une donn&amp;#233;es unique identifiant dans &lt;br /&gt; le temps, le dernier changement survenu sur une table)&lt;/pre&gt;
    &lt;/li&gt;
  &lt;/ul&gt;

  &lt;li&gt;&lt;span style="color:blue;"&gt;public override &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;SyncAnchor &lt;/span&gt;GetTableSentAnchor(&lt;span style="color:blue;"&gt;string &lt;/span&gt;tableName)&lt;/li&gt;

  &lt;ul&gt;
    &lt;li&gt;R&amp;#233;cup&amp;#232;re la derni&amp;#232;re ancre &lt;strong&gt;envoy&amp;#233;e &lt;/strong&gt;de la table param&amp;#232;tre&lt;/li&gt;
  &lt;/ul&gt;

  &lt;li&gt;
    &lt;pre class="code"&gt;&lt;span style="color:blue;"&gt;public override void &lt;/span&gt;SetTableReceivedAnchor(&lt;span style="color:blue;"&gt;string &lt;/span&gt;tableName, &lt;br /&gt;&lt;span style="color:#2b91af;"&gt;SyncAnchor &lt;/span&gt;anchor)&lt;/pre&gt;
  &lt;/li&gt;

  &lt;ul&gt;
    &lt;li&gt;
      &lt;pre class="code"&gt;Ecrit un ancre de derni&amp;#232;re modification dans la source de donn&amp;#233;es, &lt;br /&gt;pour une table donn&amp;#233;e&lt;/pre&gt;
    &lt;/li&gt;
  &lt;/ul&gt;

  &lt;li&gt;
    &lt;pre class="code"&gt;&lt;span style="color:blue;"&gt;public override void &lt;/span&gt;SetTableSentAnchor(&lt;span style="color:blue;"&gt;string &lt;/span&gt;tableName, &lt;br /&gt;&lt;span style="color:#2b91af;"&gt;SyncAnchor &lt;/span&gt;anchor)&lt;/pre&gt;
  &lt;/li&gt;

  &lt;ul&gt;
    &lt;li&gt;
      &lt;pre class="code"&gt;Ecrit un ancre de dernier envoi dans la source de donn&amp;#233;es, &lt;br /&gt;pour une table donn&amp;#233;e&lt;/pre&gt;
    &lt;/li&gt;
  &lt;/ul&gt;
&lt;/ul&gt;

&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;p&gt;N&amp;#39;h&amp;#233;siter pas &amp;#224; r&amp;#233;cup&amp;#233;rer ce petit exemple d&amp;#39;impl&amp;#233;mentation qui s&amp;#39;av&amp;#232;re, au final, plut&amp;#244;t simple !
  &lt;br /&gt;&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://www.dotmim.com/aggbug.aspx?PostID=315" width="1" height="1"&gt;</description></item><item><title>Max(), Dbcc CheckIdent(), Ident_Current()</title><link>http://www.dotmim.com/blogs/mim/archive/2008/07/21/max-dbcc-checkident-ident-current.aspx</link><pubDate>Mon, 21 Jul 2008 08:38:12 GMT</pubDate><guid isPermaLink="false">f24f4a04-d5df-4071-90fb-39191e3ba06c:314</guid><dc:creator>Mimetis</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;Rien à voir avec la choucroute, mais je rentre d&amp;#39;une semaine de vacances, et ben, ça fait du bien !&lt;/p&gt; &lt;p&gt;Evidemment, le retour aux sources est assez douloureux, surtout lorsqu&amp;#39;on doit dépiler les quantités de mails de retard (en virant les 90% de spam et autre bétises) et l&amp;#39;ensemble des flux RSS qu&amp;#39;on a l&amp;#39;habitude de parcourir !&lt;/p&gt; &lt;p&gt;Et justement, ce matin je suis tombé sur ce &lt;a href="http://blog.sqlauthority.com/2008/06/20/sql-server-find-current-identity-of-table/" target="_blank"&gt;post intéressant&lt;/a&gt; où Pinal Dave nous explique comment récupérer la valeur courant d&amp;#39;un incrément automatique.&lt;/p&gt; &lt;p&gt;Bon pour faire simple; et comme il dit, y&amp;#39;a deux solutions : &lt;/p&gt; &lt;p&gt;1) la pas élégante (mais qui marche) :&lt;/p&gt;&lt;pre class="code"&gt;&lt;span style="color:blue;"&gt;use &lt;/span&gt;AdventureWorks
&lt;span style="color:blue;"&gt;Select max&lt;/span&gt;(DatabaseLogID) &lt;span style="color:blue;"&gt;From &lt;/span&gt;dbo.DatabaseLog &lt;span style="color:blue;"&gt;as &lt;/span&gt;MaxErrorLog
&lt;/pre&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;2) la façon élégante et qui marche (aussi) :&lt;/p&gt;
&lt;p&gt;&lt;span style="color:blue;"&gt;use&lt;/span&gt;AdventureWorks&lt;br /&gt;&lt;span style="color:blue;"&gt;Dbcc &lt;/span&gt;CheckIdent(&lt;span style="color:#a31515;"&gt;&amp;#39;dbo.DatabaseLog&amp;#39;&lt;/span&gt;); &lt;/p&gt;
&lt;p&gt;Mais ... je vois un problème à la deuxième solution : Impossible de récupérer la valeur dans une application .Net ! (Là où c&amp;#39;est possible avec la première méthode)&lt;/p&gt;
&lt;p&gt;heureusement, il existe une Troisième méthode qui va nous permettre de récupérer non seulement l&amp;#39;incrément en cours, mais aussi d&amp;#39;autres valeurs intéressantes comme le Seed par exemple:&lt;/p&gt;
&lt;p&gt;Nous avons à notre disposition pas moins de 3 fonctions utiles :&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="http://msdn.microsoft.com/fr-fr/library/ms175098.aspx" target="_blank"&gt;IDENT_CURRENT()&lt;/a&gt; : Récupère la dernière valeur générée d&amp;#39;une colonne identité.&lt;/p&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="http://msdn.microsoft.com/fr-fr/library/ms189834.aspx" target="_blank"&gt;IDENT_SEED()&lt;/a&gt; : Récupère la valeur de départ d&amp;#39;une colonne identité.&lt;/p&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="http://msdn.microsoft.com/fr-fr/library/ms189795.aspx" target="_blank"&gt;IDENT_INCR()&lt;/a&gt; : Récupère l&amp;#39;incrément d&amp;#39;une colonne identité&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Ce qui donne, par code un truc du genre : &lt;/p&gt;&lt;pre class="code"&gt;&lt;span style="color:blue;"&gt;Declare &lt;/span&gt;@tableName &lt;span style="color:blue;"&gt;varchar&lt;/span&gt;(20) = &lt;span style="color:#a31515;"&gt;&amp;#39;dbo.DatabaseLog&amp;#39;

&lt;/span&gt;&lt;span style="color:blue;"&gt;SELECT        &lt;/span&gt;@tableName &lt;span style="color:blue;"&gt;as &lt;/span&gt;[Table],
            &lt;span style="color:blue;"&gt;IDENT_SEED&lt;/span&gt;(@tableName) &lt;span style="color:blue;"&gt;AS &lt;/span&gt;Seed,
            &lt;span style="color:blue;"&gt;IDENT_INCR&lt;/span&gt;(@tableName) &lt;span style="color:blue;"&gt;AS &lt;/span&gt;Increment,
            &lt;span style="color:blue;"&gt;IDENT_CURRENT&lt;/span&gt;(@tableName) &lt;span style="color:blue;"&gt;AS &lt;/span&gt;Current_Identity&lt;/pre&gt;&lt;pre class="code"&gt;&amp;nbsp;&lt;/pre&gt;&lt;pre class="code"&gt;&lt;img style="border-right:0px;border-top:0px;border-left:0px;border-bottom:0px;" height="74" alt="Ident_current" src="http://www.dotmim.com/blogs/mim/WindowsLiveWriter/MaxDbccCheckIdentIDENT_SEED_94F4/Ident_current_3.jpg" width="336" border="0" /&gt; &lt;/pre&gt;&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;&lt;pre class="code"&gt;&amp;nbsp;&lt;/pre&gt;
&lt;p&gt;Et là biensûr pas de problème particulier pour récupérer ces valeurs depuis du code .Net !&lt;/p&gt;
&lt;p&gt;Ah là là, les vacances sont finies... &lt;img alt="Big Grin" src="http://us.i1.yimg.com/us.yimg.com/i/mesg/emoticons7/4.gif" /&gt;&lt;img alt="Party" src="http://us.i1.yimg.com/us.yimg.com/i/mesg/emoticons7/36.gif" /&gt;&lt;/p&gt;&lt;pre class="code"&gt;&amp;nbsp;&lt;/pre&gt;&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;&lt;img src="http://www.dotmim.com/aggbug.aspx?PostID=314" width="1" height="1"&gt;</description></item></channel></rss>