<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>.NET</title><link>http://blogs.sqlpassj.org/mitsugi/category/65.aspx</link><description>.NET Framework 全般のテクノロジーについて</description><managingEditor>おがわみつぎ</managingEditor><dc:language>ja-JP</dc:language><generator>.Text Version 0.95.2004.102</generator><item><dc:creator>おがわみつぎ</dc:creator><title>[PASSJ]【Leaders'Report：Vol.330】　～SQL Server 2008 June CTP on VirtualPC～ サンプルコード訂正</title><link>http://blogs.sqlpassj.org/mitsugi/archive/2007/06/14/23598.aspx</link><pubDate>Thu, 14 Jun 2007 23:06:00 GMT</pubDate><guid>http://blogs.sqlpassj.org/mitsugi/archive/2007/06/14/23598.aspx</guid><wfw:comment>http://blogs.sqlpassj.org/mitsugi/comments/23598.aspx</wfw:comment><comments>http://blogs.sqlpassj.org/mitsugi/archive/2007/06/14/23598.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://blogs.sqlpassj.org/mitsugi/comments/commentRss/23598.aspx</wfw:commentRss><trackback:ping>http://blogs.sqlpassj.org/mitsugi/services/trackbacks/23598.aspx</trackback:ping><description>&lt;P&gt;2007/06/14 配信の【Leaders'Report：Vol.330】　～SQL Server 2008 June CTP on VirtualPC～&lt;BR&gt;&lt;A href="http://www.sqlpassj.org/bbs/ml_disp.aspx?forum_id=0&amp;amp;current_page=1&amp;amp;disp_mode=0&amp;amp;detail_mode=1&amp;amp;message_id=21667"&gt;http://www.sqlpassj.org/bbs/ml_disp.aspx?forum_id=0&amp;#164;t_page=1&amp;amp;disp_mode=0&amp;amp;detail_mode=1&amp;amp;message_id=21667&lt;/A&gt;&lt;BR&gt;のサンプルコードで誤りがありましたので訂正します。&lt;/P&gt;
&lt;P&gt;&amp;lt;-- Sample Code Language C# --&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #region CheckUnicodeCharacterType メソッド&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// &lt;SUMMARY&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// UNICODE 文字の種別判定メソッド&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// 　基本多言語面&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// 　CJK 用の記号および分音記号濁音記号&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// 　半角カタカナ&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// 　半角カタカナ濁音記号&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// 　半角カタカナ小文字&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// 　結合分音記号&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// 　結合半角記号&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// 　NULL 文字&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// 　スペース調整記号結合文字&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// 　補助文字（サロゲートペア）&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// 　を判定する&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// &lt;/SUMMARY&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// &lt;PARAM name="value"&gt;UNICODE の種別を判定したい UNICODE 文字&lt;/PARAM&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// &lt;RETURNS&gt;UnicodeCharacter 列挙体の値&lt;/RETURNS&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; private static UnicodeCharacterType CheckUnicodeCharacterType(SqlString value)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; UnicodeCharacterType flag = UnicodeCharacterType.NULL;&amp;nbsp; // 判定結果フラグ&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; byte[] buffer;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // 一時格納用 byte 配列&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // 引数の値チェック&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (value.IsNull || value.Value.TrimEnd().Length == 0)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // NULL を表す UnicodeCharacter.NULL を返す&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return flag;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // デフォルトで UNICODE 基本多言語面文字とする&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; flag = UnicodeCharacterType.BMP;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // IME パッドに合わせ、BigEndianUnicode のエンコードを使用する&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Encoding bigEndianUnicodeEncoding = Encoding.BigEndianUnicode;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // byte 配列取得&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; buffer = bigEndianUnicodeEncoding.GetBytes(value.Value.TrimEnd());&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // 補助文字（サロゲートペア）&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (buffer.Length == 4)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return UnicodeCharacterType.&lt;FONT color=#ff0000&gt;SURROGATEPAIR&lt;/FONT&gt;;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // byte 配列長が 2 というのは UNICODE 基本多言語面（BMP）&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else if (buffer.Length == 2)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // 半角カタカナレンジ判定&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if ((buffer[0] == 0xFF))&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // 半角カタカナ&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if ((buffer[1] &amp;gt;= 0x61 &amp;amp;&amp;amp; buffer[1] &amp;lt;= 0x66) || (buffer[1] &amp;gt;= 0x70 &amp;amp;&amp;amp; buffer[1] &amp;lt;= 0x9D))&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return UnicodeCharacterType.HANKAKU_KATAKANA;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // 半角カタカナ小文字&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else if (&lt;FONT color=#ff0000&gt;buffer[1] &amp;gt;= 0x67 &amp;amp;&amp;amp; buffer[1] &amp;lt;= 0x6F&lt;/FONT&gt;)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return UnicodeCharacterType.HANKAKU_KATAKANA_KOMOJI;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // 半角カタカナ濁音記号判定&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else if (buffer[1] == 0x9E || buffer[1] == 0x9F)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return UnicodeCharacterType.HANKAKU_KATAKANA_DAKUON;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // CJK 用の記号および分音記号の濁音記号判定&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else if (((buffer[0] == 0x30) &amp;amp;&amp;amp; (buffer[1] &amp;gt;= 0x99)) &amp;amp;&amp;amp; ((buffer[0] == 0x30) &amp;amp;&amp;amp; (buffer[1] &amp;lt;= 0x9C)))&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return UnicodeCharacterType.CJK_DAKUON;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // 結合分音記号判定&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else if (((buffer[0] == 0x03) &amp;amp;&amp;amp; (buffer[1] &amp;gt;= 0x00)) &amp;amp;&amp;amp; ((buffer[0] == 0x03) &amp;amp;&amp;amp; (buffer[1] &amp;lt;= 0x6F)))&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return UnicodeCharacterType.KETSUGO_BUON;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // 結合半角記号判定&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else if (((buffer[0] == 0xFE) &amp;amp;&amp;amp; (buffer[1] &amp;gt;= 0x20)) &amp;amp;&amp;amp; ((buffer[0] == 0xFE) &amp;amp;&amp;amp; (buffer[1] &amp;lt;= 0x2F)))&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return UnicodeCharacterType.KETSUGO_HANKAKU_KIGOU;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // スペース調整文字の結合記号&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else if (((buffer[0] == 0x02) &amp;amp;&amp;amp; (buffer[1] == 0xE5)) || ((buffer[0] == 0x02) &amp;amp;&amp;amp; (buffer[1] == 0xE9)))&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return UnicodeCharacterType.SPACE_TYOUSEI;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return flag;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #endregion&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; #region UnicodeCharacterType 列挙体&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// &lt;SUMMARY&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// UNICODE 文字判定列挙体&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// &lt;/SUMMARY&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; enum UnicodeCharacterType&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// &lt;SUMMARY&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// 基本多言語面を表す&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// U+0020 ～ U+FFFF&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// 　半角カタカナ&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// 　半角カタカナ小文字&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// 　半角カタカナ濁音記号&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// 　CJK 用の記号および分音記号濁音記号&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// 　結合分音記号&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// 　結合半角記号&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// 　スペース調整記号結合文字を除外&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// &lt;/SUMMARY&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; BMP,&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// &lt;SUMMARY&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// CJK 用の記号および分音記号濁音記号を表す&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// U+3099 ～ U+309C&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// &lt;/SUMMARY&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CJK_DAKUON,&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// &lt;SUMMARY&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// 半角カタカナを表す&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// U+FF61 ～ U+FF66、U+FF70 ～ U+FF9D&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// &lt;/SUMMARY&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; HANKAKU_KATAKANA,&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// &lt;SUMMARY&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// 半角カタカナ濁音記号を表す&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// U+FF9E、U+FF9F&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// &lt;/SUMMARY&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; HANKAKU_KATAKANA_DAKUON,&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// &lt;SUMMARY&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// 半角カタカナ小文字を表す&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// U+FF67 ～ U+FF6F&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// &lt;/SUMMARY&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; HANKAKU_KATAKANA_KOMOJI,&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// &lt;SUMMARY&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// 結合分音記号を表す&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// &lt;FONT color=#ff0000&gt;U+0300&lt;/FONT&gt; ～ U+036F&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// &lt;/SUMMARY&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; KETSUGO_BUON,&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// &lt;SUMMARY&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// 結合半角記号を表す&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// U+FE20 ～ U+FE2F&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// &lt;/SUMMARY&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; KETSUGO_HANKAKU_KIGOU,&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// &lt;SUMMARY&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// NULL 文字を表す&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// &lt;/SUMMARY&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; NULL,&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// &lt;SUMMARY&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// スペース調整記号結合文字を表す&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// U+02E5、U+02E9&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// &lt;/SUMMARY&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SPACE_TYOUSEI,&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// &lt;SUMMARY&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// 補助文字（サロゲートペア）を表す&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// U+10000 ～ U+10FFFF&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// &lt;/SUMMARY&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;FONT color=#ff0000&gt;SURROGATEPAIR&lt;/FONT&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; };&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; #endregion&lt;BR&gt;&amp;lt;-- Sample Code Language C# --&amp;gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#ff0000&gt;赤字&lt;/FONT&gt;になっている部分が訂正です。&lt;/P&gt;&lt;img src ="http://blogs.sqlpassj.org/mitsugi/aggbug/23598.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>おがわみつぎ</dc:creator><title>[PASSJ After School]CLT Event:Windows Vista 時代の SQL Server 2005 - PASSJ Special Edition </title><link>http://blogs.sqlpassj.org/mitsugi/archive/2007/06/03/23534.aspx</link><pubDate>Sun, 03 Jun 2007 00:47:00 GMT</pubDate><guid>http://blogs.sqlpassj.org/mitsugi/archive/2007/06/03/23534.aspx</guid><wfw:comment>http://blogs.sqlpassj.org/mitsugi/comments/23534.aspx</wfw:comment><comments>http://blogs.sqlpassj.org/mitsugi/archive/2007/06/03/23534.aspx#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://blogs.sqlpassj.org/mitsugi/comments/commentRss/23534.aspx</wfw:commentRss><trackback:ping>http://blogs.sqlpassj.org/mitsugi/services/trackbacks/23534.aspx</trackback:ping><description>&lt;P&gt;ちょっとフライングですが、とりあえずやる方向で検討中というか、やります。&lt;BR&gt;CLT イベントで東京・大阪とやりましたが、Microsoft からの JIS2004 対応の情報が少ない、資料はあるがどう解釈していいのかわからないという声を聞きました。&lt;BR&gt;JIS X 0213:2004(JIS2004) 規格における日本語処理のアプリケーションへの影響について、問題点、検討事項、回避策など網羅的にカバーしている資料が現在皆無です。&lt;BR&gt;Windows Server 2003/Windows XP の JIS2004 対応フォントの登場による影響、Windows Vista の JIS90 対応フォントによる影響、フォント搭載プリンタの影響、IME による影響、.NET Framework 2.0/3.0 における文字列処理の変更（文字列長が必ずしも 1 とは限らなくなったため）、補助文字・結合文字の判定、StringInfo を使ったあるべき実装、SQL Server 2005 の照合順序による影響、Transact-SQL 標準文字列操作関数の問題などなど、日本語は日本人にしか理解できないため、JIS2004 対応については日本人が声を上げる必要があります。&lt;BR&gt;声を上げるには、何が問題で、どういう実装になっているからと正しい知識を身についている必要があります。&lt;BR&gt;ということで、JIS2004 のサポートするにはどうするかをハイレベルではありますが、OS 回りと SQL Server 2005 をターゲットに解説したいと思います。&lt;/P&gt;
&lt;P&gt;Java 、超漢字、Vine Linux などなどはこの問題をそうそうに対応していたのに、何をいまさらと思われる方もいるでしょう。&lt;BR&gt;また、文字の符号化について意識したことがない方は何で JIS2004 で大騒ぎしているんだろうと思われると思います。&lt;BR&gt;規格自体は 2000 年の国語審議会の答申に基づくもので、その後改訂されて 2004 年に Fix したものですが、2007 年になって大騒ぎするのは何でと思われると思います。&lt;/P&gt;
&lt;P&gt;すべては、OS 市場シェア No.1 の Microsoft が Vista に JIS2004 対応を決めたことに事の発端があります。&lt;BR&gt;しかしながら、散在するホワイトペーパーを読んで理解できる方はそうはいません。&lt;BR&gt;私も理解するのに相当苦労しました。&lt;BR&gt;ですので、皆さんには私が味わった苦労を少しでも軽減できるようにと、PASSJ アフタースクールでやる決心をしました。&lt;/P&gt;
&lt;P&gt;正式アナウンスは近々あると思いますが、6/16（土）に Microsoft 新宿サザンタワー（OST）セミナールームで&amp;nbsp;3 時間コースとしてやりたいと思います。&lt;BR&gt;現在、河端さんと調整中ですが、私と河端さんのコンビでたぶん 1 日コースになると思います。&lt;/P&gt;
&lt;P&gt;CLT イベントでは消化不良だった方、CLT イベントに参加できなかった方、CLT イベント自体を知らなかった PASSJ 会員の方、純粋に参加したいと思われている方々は PASSJ 事務局からの「PASSJ News 特別号」をお待ちください。&lt;BR&gt;登録開始時期や登録 URL が記載されたものが近々配信されると思います。&lt;BR&gt;また、大阪や他の都市でも希望が多ければ、地元のコミュニティ（個人、団体、NPO、自治体などなど）をご紹介いただいて、参加者・会場・現地でお手伝いいただける方の確保ができれば、どこでもいく覚悟はありますので、事務局もしくは私の BLOG の「連絡をする」で連絡いただいても構いませんので、地方の方はご検討ください。&lt;/P&gt;&lt;img src ="http://blogs.sqlpassj.org/mitsugi/aggbug/23534.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>おがわみつぎ</dc:creator><title>[SQL Server 2005]「SQL Server の JIS2004 対応に関するガイドライン」の訂正すべき点</title><link>http://blogs.sqlpassj.org/mitsugi/archive/2007/05/20/23441.aspx</link><pubDate>Sun, 20 May 2007 19:35:00 GMT</pubDate><guid>http://blogs.sqlpassj.org/mitsugi/archive/2007/05/20/23441.aspx</guid><wfw:comment>http://blogs.sqlpassj.org/mitsugi/comments/23441.aspx</wfw:comment><comments>http://blogs.sqlpassj.org/mitsugi/archive/2007/05/20/23441.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://blogs.sqlpassj.org/mitsugi/comments/commentRss/23441.aspx</wfw:commentRss><trackback:ping>http://blogs.sqlpassj.org/mitsugi/services/trackbacks/23441.aspx</trackback:ping><description>&lt;P&gt;SQL Server の JIS2004 対応に関するガイドライン (exe, 3.44 MB)&lt;BR&gt;&lt;A href="http://go.microsoft.com/?linkid=6302906"&gt;http://go.microsoft.com/?linkid=6302906&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;の P.73 の「3.14 REPLACE、replace_s」の case 7 の場合、データベースの照合順序が Japanese_90 系の照合順序を使用していないと結果が予期せぬものになります。&lt;BR&gt;訂正するならば、P.64 の「3.7 補助文字対応文字列操作 - StringManipulate サンプル」の「サンプルをビルド」の&lt;BR&gt;「2. AdventureWorks データベースがインストールされていることを確認。サンプルをビルドするデータベース "JIS2004" データベースを作成」&lt;BR&gt;を&lt;BR&gt;「2. AdventureWorks データベースがインストールされていることを確認。サンプルをビルドする "JIS2004" データベースの照合順序を Japanese_90_BIN2 で作成」&lt;BR&gt;に訂正すべきところでしょう。&lt;BR&gt;&lt;/P&gt;&lt;img src ="http://blogs.sqlpassj.org/mitsugi/aggbug/23441.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>おがわみつぎ</dc:creator><title>[CLT]Windows Vista 時代の SQL Server 2005 デモ・サンプルコード</title><link>http://blogs.sqlpassj.org/mitsugi/archive/2007/05/20/23428.aspx</link><pubDate>Sun, 20 May 2007 00:20:00 GMT</pubDate><guid>http://blogs.sqlpassj.org/mitsugi/archive/2007/05/20/23428.aspx</guid><wfw:comment>http://blogs.sqlpassj.org/mitsugi/comments/23428.aspx</wfw:comment><comments>http://blogs.sqlpassj.org/mitsugi/archive/2007/05/20/23428.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://blogs.sqlpassj.org/mitsugi/comments/commentRss/23428.aspx</wfw:commentRss><trackback:ping>http://blogs.sqlpassj.org/mitsugi/services/trackbacks/23428.aspx</trackback:ping><description>&lt;P&gt;2007/05/26 東京、2007/06/02 大阪と私が担当する「Windows Vista 時代の SQL Server 2005」のデモ・サンプルコードがやっと完成しました。&lt;BR&gt;何のひねりもありません。&lt;/P&gt;
&lt;P&gt;何でここまで時間がかかったかというと、補助文字と結合文字の入力に手こずったためです。&lt;BR&gt;余計なテーブルもありますが、それは JIS X 0213:2004 の追加文字や字形変更を割り出すために使用したテーブルです。&lt;/P&gt;
&lt;P&gt;後のサンプルはドキュメントからソースに起こしたもので、検証のための入力が面倒な方向けです。&lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.horae.dti.ne.jp/~ogawa/samples/CLT-WindowsVista-SQLServer2005.zip"&gt;http://www.horae.dti.ne.jp/~ogawa/samples/CLT-WindowsVista-SQLServer2005.zip&lt;/A&gt;&lt;/P&gt;&lt;img src ="http://blogs.sqlpassj.org/mitsugi/aggbug/23428.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>おがわみつぎ</dc:creator><title>[DOWNLOAD]SQL Server 2005 Service Pack 2/Virtual PC 2007/MSXML 6.0 SP1...etc</title><link>http://blogs.sqlpassj.org/mitsugi/archive/2007/02/20/20691.aspx</link><pubDate>Tue, 20 Feb 2007 13:48:00 GMT</pubDate><guid>http://blogs.sqlpassj.org/mitsugi/archive/2007/02/20/20691.aspx</guid><wfw:comment>http://blogs.sqlpassj.org/mitsugi/comments/20691.aspx</wfw:comment><comments>http://blogs.sqlpassj.org/mitsugi/archive/2007/02/20/20691.aspx#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://blogs.sqlpassj.org/mitsugi/comments/commentRss/20691.aspx</wfw:commentRss><trackback:ping>http://blogs.sqlpassj.org/mitsugi/services/trackbacks/20691.aspx</trackback:ping><description>&lt;P&gt;&lt;A href="http://www.microsoft.com/downloads/info.aspx?na=22&amp;amp;p=3&amp;amp;SrcDisplayLang=ja&amp;amp;SrcCategoryId=&amp;amp;SrcFamilyId=&amp;amp;u=%2fdownloads%2fdetails.aspx%3fFamilyID%3deb05d099-8a66-45f6-84ce-4888760d2af8%26DisplayLang%3dja"&gt;&lt;FONT color=#002c99&gt;SQL Server 2005 SP2、SQL Server 2005 SP2 Express Edition、およびツールの Readme ファイル&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;SQL Server 2005 Service Pack 2 (SP2) をインストールする前に、SP2 セットアップ ドキュメント (sqlhotfix_setuphelp.exe) のダウンロード、展開、確認を行い、SP2 Readme ファイルを確認します。SQL Server 2005 SP2 Express Edition とツールをインストールする前には関連の Readme ファイルを確認します。&lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.microsoft.com/downloads/info.aspx?na=22&amp;amp;p=15&amp;amp;SrcDisplayLang=ja&amp;amp;SrcCategoryId=&amp;amp;SrcFamilyId=&amp;amp;u=%2fdownloads%2fdetails.aspx%3fFamilyID%3dd07219b2-1e23-49c8-8f0c-63fa18f26d3a%26DisplayLang%3dja"&gt;&lt;STRONG&gt;&lt;FONT color=#0033cc&gt;SQL Server 2005 SP2&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Microsoft SQL Server 2005 Service Pack 2 のダウンロード&lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.microsoft.com/downloads/info.aspx?na=22&amp;amp;p=6&amp;amp;SrcDisplayLang=ja&amp;amp;SrcCategoryId=&amp;amp;SrcFamilyId=&amp;amp;u=%2fdownloads%2fdetails.aspx%3fFamilyID%3d31711d5d-725c-4afa-9d65-e4465cdff1e7%26DisplayLang%3dja"&gt;&lt;STRONG&gt;&lt;FONT color=#0033cc&gt;SQL Server 2005 Express Edition SP2&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Microsoft SQL Server 2005 Express Edition は、無償で使いやすい SQL Server 2005 の簡易バージョンです。この製品は迅速かつ容易に習得できるので、動的なデータドリブン アプリケーションの開発や配置を簡単に行うことができます。&lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.microsoft.com/downloads/info.aspx?na=22&amp;amp;p=7&amp;amp;SrcDisplayLang=ja&amp;amp;SrcCategoryId=&amp;amp;SrcFamilyId=&amp;amp;u=%2fdownloads%2fdetails.aspx%3fFamilyID%3d50b97994-8453-4998-8226-fa42ec403d17%26DisplayLang%3dja"&gt;&lt;STRONG&gt;&lt;FONT color=#0033cc&gt;SQL Server 2005 用 Feature Pack (2007 年 2 月)&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Microsoft SQL Server 2005 用 Feature Pack (2007 年 2 月) をダウンロードしてください。この Feature Pack は、SQL Server の機能を拡張する個々のインストール パッケージをまとめたものです。&lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.microsoft.com/downloads/info.aspx?na=22&amp;amp;p=8&amp;amp;SrcDisplayLang=ja&amp;amp;SrcCategoryId=&amp;amp;SrcFamilyId=&amp;amp;u=%2fdownloads%2fdetails.aspx%3fFamilyID%3d5b5528b9-13e1-4db9-a3fc-82116d598c3d%26DisplayLang%3dja"&gt;&lt;STRONG&gt;&lt;FONT color=#0033cc&gt;SQL Server 2005 Express Edition with Advanced Services SP2&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Microsoft SQL Server 2005 Express Edition with Advanced Services は、SQL Server Express を使いやすくした無償のバージョンで、従来よりも多くの機能を備え、Web やローカル デスクトップ開発向けの優れたデータ ドリブン アプリケーションの開発が容易になります。&lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.microsoft.com/downloads/info.aspx?na=22&amp;amp;p=9&amp;amp;SrcDisplayLang=ja&amp;amp;SrcCategoryId=&amp;amp;SrcFamilyId=&amp;amp;u=%2fdownloads%2fdetails.aspx%3fFamilyID%3de8ad606a-0960-4efd-8bd7-b21370c7be2b%26DisplayLang%3dja"&gt;&lt;STRONG&gt;&lt;FONT color=#0033cc&gt;SQL Server 2005 Express Edition Toolkit SP2&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Microsoft SQL Server 2005 Express Edition Toolkit では、SQL Server 2005 Express Edition と SQL Server 2005 Express Edition with Advanced Services 用に追加のツールとリソースが提供されます。&lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.microsoft.com/downloads/info.aspx?na=22&amp;amp;p=10&amp;amp;SrcDisplayLang=ja&amp;amp;SrcCategoryId=&amp;amp;SrcFamilyId=&amp;amp;u=%2fdownloads%2fdetails.aspx%3fFamilyID%3d1e53f882-0c16-4847-b331-132274ae8c84%26DisplayLang%3dja"&gt;&lt;STRONG&gt;&lt;FONT color=#0033cc&gt;SharePoint テクノロジ用 SQL Server Reporting Services アドイン&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Microsoft SharePoint テクノロジ用 Microsoft SQL Server 2005 Reporting Services アドインは、Windows SharePoint Services 3.0 または Microsoft Office SharePoint Server 2007 で構築した、より大規模な配置内でレポート サーバーを実行するための機能を提供する Web ダウンロードです。&lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.microsoft.com/downloads/info.aspx?na=22&amp;amp;p=12&amp;amp;SrcDisplayLang=ja&amp;amp;SrcCategoryId=&amp;amp;SrcFamilyId=&amp;amp;u=%2fdownloads%2fdetails.aspx%3fFamilyID%3d6053c6f8-82c8-479c-b25b-9aca13141c9e%26DisplayLang%3dja"&gt;&lt;STRONG&gt;&lt;FONT color=#0033cc&gt;SQL Server Management Studio Express SP2&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Microsoft SQL Server Management Studio Express (SSMSE) では、SQL Server 2005 Express Edition と SQL Server 2005 Express Edition with Advanced Services を管理するための、使いやすいグラフィカルな管理ツールが無償で提供されます。&lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.microsoft.com/downloads/info.aspx?na=22&amp;amp;p=11&amp;amp;SrcDisplayLang=ja&amp;amp;SrcCategoryId=&amp;amp;SrcFamilyId=&amp;amp;u=%2fdownloads%2fdetails.aspx%3fFamilyID%3d7c76e8df-8674-4c3b-a99b-55b17f3c4c51%26DisplayLang%3dja"&gt;&lt;STRONG&gt;&lt;FONT color=#0033cc&gt;Office 2007 用 SQL Server データ マイニング アドイン&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Office 2007 用 SQL Server 2005 データ マイニング アドインをダウンロードしてください。このパッケージには、Microsoft Office Excel 2007 用の 2 つのアドイン (テーブル分析ツールおよびデータ マイニング クライアント) と、Microsoft Office Visio 2007 用の 1 つのアドイン (データ マイニング テンプレート) が含まれています。&lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.microsoft.com/downloads/info.aspx?na=22&amp;amp;p=5&amp;amp;SrcDisplayLang=ja&amp;amp;SrcCategoryId=&amp;amp;SrcFamilyId=&amp;amp;u=%2fdownloads%2fdetails.aspx%3fFamilyID%3d04d26402-3199-48a3-afa2-2dc0b40a73b6%26DisplayLang%3dja"&gt;&lt;STRONG&gt;&lt;FONT color=#800080&gt;Virtual PC 2007&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;日本語版のダウンロードの手引きは現在準備中です。現在のところ英語版のガイドのみご覧いただけます。&lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.microsoft.com/downloads/info.aspx?na=22&amp;amp;p=2&amp;amp;SrcDisplayLang=ja&amp;amp;SrcCategoryId=&amp;amp;SrcFamilyId=&amp;amp;u=%2fdownloads%2fdetails.aspx%3fFamilyID%3dd21c292c-368b-4ce1-9dab-3e9827b70604%26DisplayLang%3dja"&gt;&lt;STRONG&gt;&lt;FONT color=#0033cc&gt;MSXML 6.0 SP1&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;MSXML 6.0 Service Pack 1 (MSXML6.1) では、信頼性、セキュリティ、XML 1.0 および XML Schema 1.0 W3C 勧告の準拠、および System.Xml 2.0 との互換性が強化されています。&lt;/P&gt;&lt;img src ="http://blogs.sqlpassj.org/mitsugi/aggbug/20691.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>おがわみつぎ</dc:creator><title>[Fix]日本語(ISO-2022-JP) を Content-Transfer-Encoding: 7bit で送信する方法 </title><link>http://blogs.sqlpassj.org/mitsugi/archive/2007/02/04/20604.aspx</link><pubDate>Sun, 04 Feb 2007 11:14:00 GMT</pubDate><guid>http://blogs.sqlpassj.org/mitsugi/archive/2007/02/04/20604.aspx</guid><wfw:comment>http://blogs.sqlpassj.org/mitsugi/comments/20604.aspx</wfw:comment><comments>http://blogs.sqlpassj.org/mitsugi/archive/2007/02/04/20604.aspx#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://blogs.sqlpassj.org/mitsugi/comments/commentRss/20604.aspx</wfw:commentRss><trackback:ping>http://blogs.sqlpassj.org/mitsugi/services/trackbacks/20604.aspx</trackback:ping><description>&lt;P&gt;MVP 意地で、MVP インシデント使って、メールヘッダの Content-Transfer-Encoding が sevenbit になる件を FIX させました。&lt;BR&gt;サンプルコードは&lt;A id=viewpost.ascx_TitleUrl href="/mitsugi/archive/2006/02/23/16237.aspx"&gt;&lt;FONT color=#000080&gt;[.NET 2.0]日本語(ISO-2022-JP) を Content-Transfer-Encoding: 7bit で送信する方法&lt;/FONT&gt;&lt;/A&gt;を見てください。&lt;BR&gt;FIX モジュールを使えば、サンプルコードの Text 形式のメール送信で正しく Content-Transfer-Encoding: 7bit として送信されます。&lt;/P&gt;
&lt;P&gt;&lt;A href="http://support.microsoft.com/default.aspx/KB/927858"&gt;http://support.microsoft.com/default.aspx/KB/927858&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;サポートに連絡して FIX モジュールを入手してください。&lt;BR&gt;※バグなのでおそらく無償で入手できると思います。&lt;/P&gt;&lt;img src ="http://blogs.sqlpassj.org/mitsugi/aggbug/20604.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>おがわみつぎ</dc:creator><title>[.NET]Active Directory オブジェクトの 2 フェーズコミット</title><link>http://blogs.sqlpassj.org/mitsugi/archive/2006/10/27/19862.aspx</link><pubDate>Fri, 27 Oct 2006 14:37:00 GMT</pubDate><guid>http://blogs.sqlpassj.org/mitsugi/archive/2006/10/27/19862.aspx</guid><wfw:comment>http://blogs.sqlpassj.org/mitsugi/comments/19862.aspx</wfw:comment><comments>http://blogs.sqlpassj.org/mitsugi/archive/2006/10/27/19862.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://blogs.sqlpassj.org/mitsugi/comments/commentRss/19862.aspx</wfw:commentRss><trackback:ping>http://blogs.sqlpassj.org/mitsugi/services/trackbacks/19862.aspx</trackback:ping><description>&lt;P&gt;PASSJ Leaders Report に書いたんだけど、Active Directory が 2 つあって、それぞれ役割が違うものだったりする環境で、User オブジェクトだけは同じものを作成しなければならないという前提があった場合、どうします？&lt;BR&gt;データベースなら 2 フェーズコミットがあるので楽チンだよね。&lt;BR&gt;でも、Active Directory を操作する System.DirectoryServices にはそんな機能はありません。&lt;BR&gt;確かに変更をコミットするかどうかのメソッドはありますが、そんなものは役に立ちません。&lt;BR&gt;特にパスワードを設定するときには Active Directory 上にユーザオブジェクトを実体化させて置かなければなりません。&lt;BR&gt;だもんだから、System.Transactions.IEnlistmentNotification インターフェースを実装した独自クラスを作成し、分散トランザクションコーディネータ（MSDTC）の力を借りて、 2 フェーズコミットを実現する方法を考え出しました。&lt;BR&gt;サンプルコードは書いたんだけど、まだまだ完全じゃありません。&lt;BR&gt;ですので、皆さん、参考程度に思ってください。&lt;BR&gt;特に MSDTC を使った 2 フェーズコミットの実装ってこんなものだという感じで。&lt;/P&gt;
&lt;BLOCKQUOTE dir=ltr style="MARGIN-RIGHT: 0px"&gt;
&lt;P&gt;using System;&lt;BR&gt;using System.Collections.Generic;&lt;BR&gt;using System.Text;&lt;BR&gt;using System.Transactions;&lt;BR&gt;using System.DirectoryServices;&lt;/P&gt;
&lt;P&gt;namespace TransTest&lt;BR&gt;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public class User : System.Transactions.IEnlistmentNotification, System.IDisposable&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; private Guid _guid = new Guid("{FA892101-FEBE-44fa-8C48-90061729B939}");&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; private DirectoryEntry _ou;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; private DirectoryEntry _user;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; private string _ldap;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; private string _userName;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; private string _password;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; private Transaction _transaction;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public User(string ldap, string userName, string password)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this._userName = userName;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this._ldap = ldap;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this._password = password;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public void Add()&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this._transaction = Transaction.Current;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (this._transaction != null)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this._transaction.EnlistDurable(this._guid, this, EnlistmentOptions.EnlistDuringPrepareRequired);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #region IEnlistmentNotification メンバ&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public void Commit(System.Transactions.Enlistment enlistment)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; System.Console.WriteLine("Commit:" + this._userName);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; enlistment.Done();&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public void InDoubt(System.Transactions.Enlistment enlistment)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public void Prepare(System.Transactions.PreparingEnlistment preparingEnlistment)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; try&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this._ou = new DirectoryEntry(this._ldap);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this._ou.AuthenticationType = AuthenticationTypes.Secure | AuthenticationTypes.SecureSocketsLayer;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this._user = this._ou.Children.Add("CN=" + this._userName, "User");&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this._user.Properties["SAMAccountName"].Value = this._userName;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this._user.Properties["DisplayName"].Value = this._userName;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this._user.Properties["userPrincipalName"].Value = this._userName + "@domain.local";&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this._user.CommitChanges();&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this._user.Invoke("SetPassword", new object[] { this._password.ToString() });&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this._user.Properties["userAccountControl"].Value = 0x200 | 0x800000;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this._user.Properties["pwdLastSet"].Value = 0;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this._user.CommitChanges();&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; preparingEnlistment.Prepared();&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; catch (Exception ex)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; System.Console.WriteLine(ex.Message);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.Delete();&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; preparingEnlistment.ForceRollback();&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; System.Console.WriteLine("Prepare:" + this._userName);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; private void Delete()&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (this._user != null)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this._user.DeleteTree();&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public void Rollback(System.Transactions.Enlistment enlistment)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; try&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.Delete();&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; catch (Exception ex)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; System.Console.WriteLine(ex.Message);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; enlistment.Done();&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; System.Console.WriteLine("Rollback: " + this._userName);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #endregion&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #region IDisposable メンバ&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public void Dispose()&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (this._user != null)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this._user.Dispose();&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (this._ou != null)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this._ou.Dispose();&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; System.GC.Collect();&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #endregion&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR&gt;}&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;img src ="http://blogs.sqlpassj.org/mitsugi/aggbug/19862.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>おがわみつぎ</dc:creator><title>[Ajax]Atlas から AJAX へ</title><link>http://blogs.sqlpassj.org/mitsugi/archive/2006/09/12/19294.aspx</link><pubDate>Tue, 12 Sep 2006 13:27:00 GMT</pubDate><guid>http://blogs.sqlpassj.org/mitsugi/archive/2006/09/12/19294.aspx</guid><wfw:comment>http://blogs.sqlpassj.org/mitsugi/comments/19294.aspx</wfw:comment><comments>http://blogs.sqlpassj.org/mitsugi/archive/2006/09/12/19294.aspx#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://blogs.sqlpassj.org/mitsugi/comments/commentRss/19294.aspx</wfw:commentRss><trackback:ping>http://blogs.sqlpassj.org/mitsugi/services/trackbacks/19294.aspx</trackback:ping><description>&lt;P&gt;Microsoft の Ajax 実装として、コードネーム "Atlas" があります。&lt;BR&gt;その正式名称が発表になりました。&lt;BR&gt;ただ大文字小文字の表記はちょっとまだわかりませんが。。。&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;JavaScript -&amp;gt; Microsoft AJAX Library&lt;/LI&gt;
&lt;LI&gt;Server Side コントロール -&amp;gt; ASP.NET 2.0 AJAX Extensions&lt;/LI&gt;
&lt;LI&gt;"Atlas" Control Toolkit -&amp;gt; ASP.NET AJAX Control Toolkit&lt;/LI&gt;&lt;/OL&gt;
&lt;P&gt;&lt;A href="http://weblogs.asp.net/scottgu/archive/2006/09/11/_2200_Atlas_2200_-1.0-Naming-and-Roadmap.aspx"&gt;http://weblogs.asp.net/scottgu/archive/2006/09/11/_2200_Atlas_2200_-1.0-Naming-and-Roadmap.aspx&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;うれしいことに年内にリリースされる予定です。&lt;/P&gt;&lt;img src ="http://blogs.sqlpassj.org/mitsugi/aggbug/19294.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>おがわみつぎ</dc:creator><title>[.NET 3.0]Microsoft .NET Framework 3.0 RC</title><link>http://blogs.sqlpassj.org/mitsugi/archive/2006/09/04/19137.aspx</link><pubDate>Mon, 04 Sep 2006 15:49:00 GMT</pubDate><guid>http://blogs.sqlpassj.org/mitsugi/archive/2006/09/04/19137.aspx</guid><wfw:comment>http://blogs.sqlpassj.org/mitsugi/comments/19137.aspx</wfw:comment><comments>http://blogs.sqlpassj.org/mitsugi/archive/2006/09/04/19137.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://blogs.sqlpassj.org/mitsugi/comments/commentRss/19137.aspx</wfw:commentRss><trackback:ping>http://blogs.sqlpassj.org/mitsugi/services/trackbacks/19137.aspx</trackback:ping><description>&lt;A href="http://www.microsoft.com/downloads/info.aspx?na=22&amp;amp;p=1&amp;amp;SrcDisplayLang=ja&amp;amp;SrcCategoryId=&amp;amp;SrcFamilyId=&amp;amp;u=%2fdownloads%2fdetails.aspx%3fFamilyID%3d19e21845-f5e3-4387-95ff-66788825c1af%26DisplayLang%3dja"&gt;マイクロソフト プレリリース ソフトウェア Microsoft .NET Framework 3.0 - Release Candidate&lt;/A&gt;&lt;BR&gt;誰も書かないから書いてみた。&lt;BR&gt;.NET Framework 3.0 自体もですが&lt;BR&gt;&lt;A href="http://www.microsoft.com/downloads/info.aspx?na=22&amp;amp;p=6&amp;amp;SrcDisplayLang=ja&amp;amp;SrcCategoryId=&amp;amp;SrcFamilyId=&amp;amp;u=%2fdownloads%2fdetails.aspx%3fFamilyID%3de8232f93-48f0-4e74-b09d-b51f1d4231a4%26DisplayLang%3den"&gt;&lt;FONT color=#002c99&gt;Microsoft&amp;#174; Visual Studio&amp;#174; 2005 Extensions for Windows Workflow Foundation Release Candidate 5&lt;/FONT&gt;&lt;/A&gt;&lt;BR&gt;も出てます。&lt;BR&gt;困ったことに他はアップグレードしていないという罠がありますが。&lt;BR&gt;ちなみに WinFX のアンインストールツール使うと Visual Studio 2005 の MSDN Library がごっそり消えます。&lt;BR&gt;可能であれば、正しくアンインストールしてくださいまし。&lt;img src ="http://blogs.sqlpassj.org/mitsugi/aggbug/19137.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>おがわみつぎ</dc:creator><title>[MSN Search]MSN Search API Code Sample</title><link>http://blogs.sqlpassj.org/mitsugi/archive/2006/08/21/17988.aspx</link><pubDate>Mon, 21 Aug 2006 18:48:00 GMT</pubDate><guid>http://blogs.sqlpassj.org/mitsugi/archive/2006/08/21/17988.aspx</guid><wfw:comment>http://blogs.sqlpassj.org/mitsugi/comments/17988.aspx</wfw:comment><comments>http://blogs.sqlpassj.org/mitsugi/archive/2006/08/21/17988.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://blogs.sqlpassj.org/mitsugi/comments/commentRss/17988.aspx</wfw:commentRss><trackback:ping>http://blogs.sqlpassj.org/mitsugi/services/trackbacks/17988.aspx</trackback:ping><description>&lt;P&gt;&lt;A href="http://www.microsoft.com/downloads/info.aspx?na=22&amp;amp;p=13&amp;amp;SrcDisplayLang=ja&amp;amp;SrcCategoryId=&amp;amp;SrcFamilyId=&amp;amp;u=%2fdownloads%2fdetails.aspx%3fFamilyID%3d9ea3e675-de3a-428d-ac2d-a61526a097c8%26DisplayLang%3den"&gt;MSN Search API Code Sample&lt;/A&gt;&amp;nbsp;がダウンロードできます。&lt;BR&gt;自分のアプリケーションに検索機能をつけたいと考えている方は検討していただければと。&lt;BR&gt;このサンプルを動かすには AppID を登録する必要があります。&lt;BR&gt;&lt;A href="http://search.msn.com/developer"&gt;http://search.msn.com/developer&lt;/A&gt;&lt;BR&gt;にアクセスしてから「Sign In」し、「Get an AppID」をクリックして、AppID を取得画面を表示してください。&lt;BR&gt;そうしたら「Name」に自分の好きな名前をつけて登録してください。&lt;BR&gt;ダウンロードしてインストールしたサンプルを Visual Studio 2005 で開いて、「MSNSearchCSharpSample2005.cs」の 150 行目の searchRequest.AppID = "YOUR_APPID_GOES_HERE"; を取得した AppID に書き換えます。&lt;BR&gt;それが完了したら、実行してください。&lt;/P&gt;
&lt;P&gt;検索結果がしょぼいので、自分のアプリケーションにあった UI にカスタマイズすればよいでしょう。&lt;BR&gt;＃検索精度は Google のほうが。。。&lt;/P&gt;&lt;img src ="http://blogs.sqlpassj.org/mitsugi/aggbug/17988.aspx" width = "1" height = "1" /&gt;</description></item></channel></rss>