戦艦ゆにっき

SQL Server & Hyper-V & Windows Phone 7をメインにしたBlogです

更新情報をメールで受け取る

リンク集

勉強会

Windows Azure破産 Safety Netの勧め

Windows Azure Hosted Serviceは従量課金制です。従量課金制だと、どうしても自宅で個人的にAzureで遊ぶにはハードルが高くなりがちです。ついうっかりすると、どんどんと課金されカードに目玉が飛び出るような請求が来ないとも限りません。(テレ放題時代を思い出しますよね~パケット通信とか・・・)

安心してAzureで遊ぶには、転ばぬ先の杖、Safety Netを用意する必要があります。人間なので、ついうっかりはあり得る話です。そんな、ついうっかり対策として役立つソフトがあります。Codeplexで公開されているGreybox - Azure Hosted Service Deployment Notifierです。

Greyboxの特徴は、

  • Windows Azure Hosted Serviceにデプロイされているかどうかのチェック
  • デプロイされているサービスの停止
  • デプロイの削除

である。デプロイ確認は設定値に応じて定期的に巡回するタスクトレイに格納されるアプリである。

動作例

Greyboxはタスクトレイ上で動作するアプリケーションです。巡回してデプロイされている場合は、アイコンが青色の図形が表示され、ポップアップにてデプロイ状況が表示されます。

1

タスクトレイのアイコン上で右クリックすると下の図のようにデプロイアプリを削除できます。デプロイを停止し、デプロイを削除と言う流れになります。

2

使用準備

1.Windows AzureのサブスクリプションIDと証明書を準備します。サブスクリプションIDと証明書については、「PowerShell で始める Windows Azure アプリケーション管理 | Tech Fielders コラム」が参考になります。

二点、注意事項があります。

  • Visual Studio 2010しかインストールしていない場合は、.NET Framework 4がインストールされますので、「C:\Program Files\Microsoft SDKs\Windows\v6.0A\Bin\makecert」では無く、「C:\Program Files\Microsoft SDKs\Windows\v7.0A\Bin\makecert」を使用することになります。
  • Greyboxの実装の関係で、証明書はmyに作成する必要があります。ですので次のコマンドを使用します。「-ss my」の部分が必須です。

"C:\Program Files\Microsoft SDKs\Windows\v7.0A\Bin\makecert -n "CN=Azure API Cert,C=jp" -ss my azureapicert.cer

2.greybox - Release: GreyBox v1.0からGreyboxをダウンロードします。

3.ダウンロードしたGreyBoxRelease.1.0.zipを任意の場所に解凍します。

4.解凍したディレクトリの中から「Greybox.exe.config」をエディタで開きます。

「"--ADD YOUR SUBSCRIPTION ID HERE--"」「"--ADD YOUR CERTIFICATE THUMBPRINT HERE--"」の2か所を「1.」で確認したサブスクリプションIDと証明書のThumbprintを設定します。

keyが「RefreshTimerIntervalInMinutes」のvalueを変更することで、巡回間隔を設定できます。初期値は10分になっています。

5.編集が完了したら上書き保存します。

6.アプリをダブルクリックし起動します。

トラブルシューティング

デバッグをするには、DebugView for Windowsを使用するか、configファイルにTraceLisnerの設定を追加します。

TraceLisnerを使用する場合は、「Greybox.exe.config」の「</appSettings>」の下に次のコードを追加します。

<system.diagnostics>
  <trace autoflush="false" indentsize="4">
    <listeners>
      <add name="myListener"
        type="System.Diagnostics.TextWriterTraceListener"
        initializeData="TextWriterOutput.log" />
      <remove name="Default" />
    </listeners>
  </trace>
</system.diagnostics>

自分の場合は、以下のエラーに遭遇しました。

Setting read. SubscriptionId: <my subscriptionId>, Thumbprint:<my Thumbprint>, TimerInternal: 1 Minutes
Greybox.exe Error: 0 : An exception has occured: 'Resolution of the dependency failed, type = "StrategicDataSystems.Cloud.Monitoring.UI.ViewModels.SysTrayViewModel", name = "(none)".

これは、証明書のインストール場所が悪かったためです。「my」にインストールする必要があります。もし同様のエラーが出た場合は、powershellで「dir cert:\CurrentUser\my」と入力し、自分の設定した証明書が表示されるか確認してください。

参考情報
「はじめてのVisual Studio 2010」を紹介いただいているHP

もう間もなく、本当あと少しで発売が開始される「TECHNICAL MASTER はじめての Visual Studio 2010|書籍情報|秀和システム」を早くも紹介いただき、ありがとうございます!

 

発売後の感想が楽しみでもあり、怖くもある、そんな微妙な心境であります。本当でしたら、お世話になってる方々には、自分のほうから持参し参上すべきところだとは思うのですが、いかんせん安月給な身でして、何卒ご容赦のほどを(汗

お手に取っていただき、購入していただければ大変うれしく思います。

OracleのJIS2004対応 概要編

OracleのJIS2004対応について考えると、大きく分けて2種類の対応方法がある。DB全体でJIS2004に対応する方法と、DBの一部でJIS2004に対応する方法である。それぞれの方法を図示すると、下のようになる。

4-4-02

パターンAが、DB全体でJIS2004に対応する方法である。DBのキャラクタセットを「AL32UTF8」にすることでDB全体でJIS2004を扱えるようになる。

パターンBが、DBの一部でJIS2004に対応する方法である。DBのキャラクタセットは「JA16SJISTILDE」で、各国語・キャラクタセットを「AL16UTF16」にする。データ型が、NCHAR、NVARCHAR2およびNCLOBのカラムのみJIS2004を扱えるようになる。

これだけ見ると、パターンAを選択するのがベストに見える。しかし、パターンAには、いくつかの注意点があり、それを許容できない場合はパターンBを採用することになる。

パターンAの注意点

パターンAには以下の注意点があり、それを考慮した設計が必要になる。例えば既存アプリのJIS2004対応を実施する場合には、つらい場合がある。テーブル名や列名に日本語を使用している場合や、HDD容量に余裕がない場合である。

  • 文字のバイト数の違いによる、文字数からバイト数を計算するのが面倒。
    • シフトJISは、全角2バイト、半角1バイト
    • UTF8は、全角3バイト、半角1バイト、半角カナ2バイト
    • データ型やプログラム製造時に注意が必要。扱っているのがバイト数か文字数なのかを意識する必要がある
  • DB容量の増加
    • JA16JISTILDEに比べ、1.5~3倍ぐらいの容量を見積もる必要がある
  • テーブル名や列名に日本語を使用する場合、10文字以下しか使用できない
参照情報
関連情報

パターンBの場合について、調査をした結果が次の2つのエントリーである。

Oracle JIS2004対応(AP周り)

OracleのJIS2004対応 概要編 - 戦艦ゆにっき」を最初に読んでおくと、何の話をしているかがわかりやすいと思います。以下の話は、パターンBを採用した時の話です。

Oracle JIS2004対応(DB設定周り) - 戦艦ゆにっき」にてOracleのJIS2004対応について記載した。しかし残念なことに、これでは終わりでは無かった。SQL DeveloperのGUIからJIS2004文字を登録でき、参照もできたから問題無いと判断していた。アプリ側に対応の必要無しっと言う記述を目にしていたので、余計思い込んだ。

ひょっとしたら、ほかに何らかの対応で回避できるのかもしれないが自分が調べた範囲では不明。ともかく、ここ数日20時間を費やして判明したことをメモっておく。尚、使用しているのはODP.NETである。

パラメータライズクエリ

一つ目の対応方法は、パラメータライズクエリを利用することである。

Using conn As New OracleConnection

    'データベースへの接続を開く
    conn.ConnectionString = "User Id=sys;Password=oracle;Data Source=PooP;DBA Privilege=SYSDBA"

    conn.Open()

    Dim cmd As New OracleCommand
    cmd.Connection = conn
    cmd.CommandText = "INSERT INTO SYS.TEST (NAME1,NAME2) VALUES (:nora,:nora2)"

    'BindByName
    cmd.BindByName = True

    'Parameters.Add
    cmd.Parameters.Add("nora", OracleDbType.NVarchar2, 30).Value = "㐂"
    cmd.Parameters.Add("nora2", OracleDbType.NChar, 30).Value = "㐂"

    Dim rows As Decimal = cmd.ExecuteNonQuery()
    Debug.Print(rows.ToString() + " 行更新しました。")
End Using

パラメータライズクエリでパラメータを指定する際に、「Parameters.Add」でデータ型を指定すると正常に挿入することができた。挿入した文字は、「㐂」です。七が3つで作成された「よろこぶ」と言う文字。

N関数を使用する

UNICODE対応する時には、N関数(N'hogehoge’ みたいなの)を使用すれば良いというのは有名なので、それで対応しようとした。

cmd.CommandText = "INSERT INTO SYS.TEST (NAME1,NAME2) VALUES (N'㐂',N'㐂')"

上記のように変更したが、文字化けする。

解決するには、環境変数「ORA_NCHAR_LITERAL_REPLACE」を「TRUE」に設定してあげる必要がある。環境変数を設定することで文字化けが解消された!!!

レジストリで設定することも可能なようだが、どのキーを設定すればいいのかがわからない、各クライアントのレジストリの設定を変更する運用は考えられないので、以下のコードで対応。

System.Environment.SetEnvironmentVariable("ORA_NCHAR_LITERAL_REPLACE", "TRUE")
N関数(N引用符)

Oracle Database では、N 引用符付きのテキストは、データベース・キャラクタ・セットを
使用して各国語キャラクタ・セットに変換されます。クライアント側キャラクタに対応す
るエンコーディングがデータベース・キャラクタ・セットにない場合、Oracle Database で
は疑問符に変換されます。

ORA_NCHAR_LITERAL_REPLACE

Oracle Databaseアプリケーション開発ガイド・基礎編」より抜粋

テキスト・リテラル変換中の潜在的なデータ消失を回避するに
は、$ORA_NCHAR_LITERAL_REPLACE 環境変数をTRUE に設定します。この設定により、
N'text' が内部で透過的に置き換えられ、テキスト・リテラルがSQL 処理のために保持
されます。

補足

SQL Developerのクエリエディタからでは、どうやっても成功せず文字化け(「?」)になってしまった。ひょっとすると、レジストリで「ORA_NCHAR_LITERAL_REPLACE」を設定すれば解決するのかもしればいが、調査はしていない。

参考

Oracle Technology Network (OTN) Japan - 掲示板 : 中国語のINSERTがうまくいきません。 ...」が二つ目の解決策の決め手でした。環境変数が必要なんて夢にも思わないw

添付

折角なので評価に使用したコードをアップしておく。

Oracle JIS2004対応(DB設定周り)

OracleのJIS2004対応 概要編 - 戦艦ゆにっき」を最初に読んでおくと、何の話をしているかがわかりやすいと思います。以下の話は、パターンBを採用した時の話です。

OracleでJIS2004対応をするには、どうしたら良いのかがわからず、ここ1週間ほど時間を見つけて調査をしてきた。会社の環境が貧弱なので、自宅マシーンで評価しようとしてOracleインストールに失敗して、ついかっとなりOS再インストールとかしたりした。おかげでWin7 の64ビットデビューしちゃったよ。

まぁ前起きはこれぐらいにして、本題。「Oracle JIS2004 対応方法」とかで検索すると参考にて提示したリンクが出てきてなーんとなくは理解できるのだが決定的な理解に至らず、悶えた。実機で評価し、ようやく理解できた。

追記(2010/06/20):AP周りで考慮すべきことが残っていたので「Oracle JIS2004対応(AP周り) - 戦艦ゆにっき」に追記。

JIS X 0213:2004のデータをDBに格納する方法
  1. Oracle Database 10g Release 1(10.1.0)以降のAL32UTF8キャラクタ・セットまたはAL16UTF16各言語キャラクタ・セットのデータベースを利用する。
  2. DBアクセス製品に応じてUnicodeを利用したプログラミングを行う
  3. 開発環境、実行環境がJIS X 0213:2004のデータを取り扱える必要がある
DB周りの補足

上記1がわかりずらい。また検索するとサイトによって記載がぶれていて、本当にあっているのかどうかがわかりにくい。(特に各言語キャラクタ・セットの意味を知らなかったら・・・・)

Oracle DatabaseでJIS2004を扱う為の設定は2種類存在し、どちらかを選択することになる。

  • DBのキャラクタ・セットをAL32UTF8にする。
  • DBのキャラクタ・セットはJA16SJISTILDEにしたまま、AL16UTF16各言語キャラクタ・セットにする。そして、JIS2004を格納したいカラムのデータ型をnvarchar2などの「n~型」を使用し、Unicodeを扱える環境で文字登録すれば良い。
    • NLS_NCHAR_CHARACTERSETをAL16UTF16にする

どちらかで対応すれば良い。たとえば、カラム名に日本語を使っていたりして、DBのキャラクタ・セットを変更したくない場合は、後者を選択することになる。

文字を登録するクライアントについて

JIS2004で拡張された文字を本当に登録できているかを確認するためには、クライアントがJIS2004を扱えなければならない。

自分で調べた範囲では、sql*plusではJIS2004拡張文字は扱えない。なので、SQL Developer(Oracle標準のツール)などを使ってあげる必要がある。

評価結果

評価は、DBキャラクタセットはJISで、各言語セットをUTFで行った。

NAME0はVARCHAR、NAME1はNVARCHAR、NAME2はNCHARのデータ型という構造の表に下のようなSQLを発行しコミットする。挿入したデータは、それぞれ「VistaとXPでフォントの形状が異なる」「XPに対応するフォントが無い文字」「XPに対応するフォントが無いサロゲート・ペア文字」である。

oraclejis2004_0

すると結果は、下のようになる。

oraclejis2004_1

Windows 7にインストールしたOracleにWindows 7上のSQL DeveloperからINSERTした結果である。Windows 7環境でも、N~型ではないNAME0は文字化けしていることを確認できる。

ちなみに参考資料によると、JA16SJISTILDEに格納できない文字を格納しようとしたので「?」として格納される。そして、サロゲート・ペア文字は二文字の「??」として格納される。これを通常のXPで参照すると「・」と文字化けするらしい・・・。

参考
SQL Serverの自習書と技術資料の一括ダウンローダ

SQL Server 2008 R2の製品ページにて公開されている技術資料(開発者の為の必読情報)自習書が、とっても良い資料です。でも、

ちまちまダウンロードするのが面倒だったので、MIX10で提供されている一括ダウンロードスクリプトを技術資料と自習書用に改造しました。

提供スクリプト
一括ダウンロード手順

VS2010 Ready Dayのスクリプトを改造しているので動作手順も同じです。

  1. 最新のcURL (Win32 version)をダウンロードします。
  2. 任意のフォルダーに解凍します。(例:d:\sqlserver)
  3. スクリプトを2つダウンロードし、「2」と同じディレクトリに解凍します。
  4. コマンドプロンプトを立ち上げ、「2」で指定したディレクトリに移動します。
    例: cd /d d:\sqlserver
  5. 技術資料一括ダウンロードの為に、バッチを実行します。
    例: SQLServerDeveloperDownloader 引数
    • 引数には、「pdf」「xps」「zip」のどれかを指定します。
    • zipを指定するとサンプルコードをダウンロードします
    • xpsを指定すると資料をダウンロードします
    • zipを指定すると資料をダウンロードします
  6. 技術資料一括ファイル名を変更します。これを行うと、日本語名になります。
    例: SQLServerDeveloperRenamer 引数
    • 引数には、「pdf」「xps」のどれかを指定します。
    • pdfを指定すると資料を日本語名に変更します。
    • xpsを指定すると資料を日本語名に変更します。
    • どちらを指定しても、zipファイルを日本語名に変更します。
  7. 自習書一括ダウンロードの為に、バッチを実行します。
    例: SQLServerMySelfDownloader
    • 引数はありません
    • 自習書とサンプルスクリプトをダウンロードします
  8. 自習書一括ファイル名を変更します。これを行うと、日本語名になります。
    例: SQLServerMySelfRenamer
    • 引数はありません
    • 自習書とサンプルスクリプトを日本語名に変更します。
注意事項
  • マイクロソフトからクレームが来たら、私が対応可能な範囲で即刻配布を停止します。
  • マイクロソフトが資料を公開している間だけ、このスクリプトは有効です。
  • プロキシ環境下では、動作しません。
  • 動作保証はしません。
  • 何があっても私は知りません、自己責任でお願いします。
関連情報
SQL Server 2008 Expressをコマンドプロンプトでインストールする方法
  1. Microsoft SQL Server 2008 Express Edition SP1からファイルをダウンロードします。
    • 32ビット版のSQLEXPR_x86_JPN.exeをC:\tempにダウンロードします。
  2. コマンドプロンプトを管理者モードで起動します。
  3. カレントディレクトリを移動します
    • >cd :c\temp
  4. 次のコマンドを実行し、ファイルを展開します。
    • >SQLEXPR_x86_JPN.exe /x
  5. 解凍ディレクトリを指定します。
    20100503012657
  6. 解凍ディレクトリの、setup.exeをコマンドプロンプトで実行します。

ここから先は、コマンド プロンプトから SQL Server 2008 をインストールする方法と同じなので、そちらを参照してください。

SQL Server技術資料&自習書の一括ダウンローダ

2010/4/13に開催されたVisual Studio 2010 Ready Dayのセッション動画と資料の一般公開が始まっています。ちまちまダウンロードするのが面倒だったので、MIX10で提供されている一括ダウンロードスクリプトをVisual Studio 2010 Ready Day用に改造しました。

※資料は、MSBCで公開されています。MSBCに登録されていない方は、まずMSBCに登録してから本スクリプトを使用していただくようにお願いします。

提供スクリプト
一括ダウンロード手順

VS2010 Ready Dayのスクリプトを改造しているので動作手順も同じです。

  1. 最新のcURL (Win32 version)をダウンロードします。
  2. 任意のフォルダーに解凍します。(例:d:\vs2010RD)
  3. スクリプトを2つダウンロードし、「2」と同じディレクトリに解凍します。
  4. コマンドプロンプトを立ち上げ、「2」で指定したディレクトリに移動します。
    例: cd /d d:\vs2010RD
  5. 一括ダウンロードの為に、バッチを実行します。
    例: vs2010ReadyDayDownloader 引数
    • 引数には、「pdf」「xps」「wmv」のどれかを指定します。
    • wmvを指定すると動画をダウンロードします
    • xpsを指定すると資料をダウンロードします
    • pdfを指定すると資料をダウンロードします
  6. 一括ファイル名を変更します。これを行うと、日本語名になります。
    例: vs2010ReadyDayRenamer 引数
    • 引数には、「pdf」「xps」「wmv」のどれかを指定します。
    • wmvを指定すると動画ファイルを日本語名に変更します。
    • pdfを指定すると資料を日本語名に変更します。
    • xpsを指定すると資料を日本語名に変更します。
注意事項
  • マイクロソフトからクレームが来たら、私が対応可能な範囲で即刻配布を停止します。
  • マイクロソフトが資料を公開している間だけ、このスクリプトは有効です。
  • プロキシ環境下では、動作しません。
  • 動作保証はしません。
  • 何があっても私は知りません、自己責任でお願いします。
  • 資料は、MSBCで公開されています。MSBCに登録されていない方は、まずMSBCに登録してから本スクリプトを使用していただくようにお願いします。
技術ひろば.net 4月勉強会 - WF4

MSエヴァンジェリストの松崎さんのセッション

WFとは

WFとは、モデル駆動で作成できるワークフロー基盤。すべてのワークフローを対象にしているが、アプリケーションではなく、何かをやるわけではなく、実行基盤です。Sharepointにワークフロー機能があり、WFを使っている。でも、画面はSharepointで作っている。

WF3からスタートしたものです。3→3.5→4とバージョン遷移しました。

でも、4で大きく変わりました。根底から作り替えられた全く新しい物で、基本的には互換性がないので、3シリーズのものは4で動作しない。

WF3までは…

WF3までは、すごくコードが混じった

コードで落とすこともできるし、XAMLで落とすこともできる。XAMLは、構文が構造化していて記述が一意的。他ツールとの連携がしやすい。(Expression Blend、XamlPad、Sharepoint Designer、TFSなど)

Windows Azureのベータ版には、ワークフロー実行エンジンが搭載されていた。この実行エンジンは、3、3.5ベースだったのでいろいろ問題があり、見送られた。

WF4からは…

基本すべてXAMLで書くようになり、構造化をすすめた。

3シリーズの反省を生かして、パフォーマンス、作成の操作性、エンドユーザーへの開放などが行われた。エンドユーザーへのデザイナーの開放は、3までは大変だった。

tech Days 2010 Japanの資料一括ダウンローダ

2010/2/23~2/24に開催されたMicrosoft Tech・Days 2010のセッション動画と資料の一般公開が始まっています。ちまちまダウンロードするのが面倒だったので、MIX10で提供されている一括ダウンロードスクリプトをtechDays2010用に改造しました。

提供スクリプト
一括ダウンロード手順

MIX10のスクリプトを改造しているので動作手順も同じです。

  1. 最新のcURL (Win32 version)をダウンロードします。
  2. 任意のフォルダーに解凍します。(例:d:\techdays)
  3. スクリプトを2つダウンロードし、「2」と同じディレクトリに解凍します。
  4. コマンドプロンプトを立ち上げ、「2」で指定したディレクトリに移動します。
    例: cd /d d:\techdays
  5. 一括ダウンロードの為に、バッチを実行します。
    例: techDay2010Downloader 引数
    • 引数には、「wmv」「pptx」「sum」「data」のどれかを指定します。
    • wmvを指定すると動画をダウンロードします
    • pptxを指定すると資料をダウンロードします
    • sumを指定すると、techdaysセッションのまとめ資料をダウンロードします
    • dataを指定すると、データファイルをダウンロードします。
  6. 一括ファイル名を変更します。これを行うと、日本語名になります。
    例: techDay2010Renamer 引数
    • 引数には。「wmv」「pptx」のどれかを指定します。
    • wmvを指定すると動画ファイルを日本語名に変更します。
    • pptxを指定すると資料を日本語名に変更します。
    • どちらを指定しても、zipファイルを日本語名に変更します。
注意事項
  • マイクロソフトからクレームが来たら、私が対応可能な範囲で即刻配布を停止します。
  • マイクロソフトが資料を公開している間だけ、このスクリプトは有効です。
  • プロキシ環境下では、動作しません。
  • 動作保証はしません。
  • 何があっても私は知りません、自己責任でお願いします。
プログラミング入門書 かんたんシリーズ発刊のお知らせ

技術評論社からtechbank.jp監修の初心者から中級入門者向けのプログラミング解説書が発刊されます!!!

執筆者は、実務経験、知識共に豊富な方々が、それぞれの言語についてわかりやすく説明しています。図、サンプルコードが豊富で初心者の方の入門書として最適です。また、読み終わった後はリファレンスとしても使用できるようにわかりやすい構造となっています。

また、単なる入門書にとどまらず初心者から中級者への掛け橋となるように執筆されています。ぜひぜひ、ご一読くださいませ。ちなみ、今回執筆された方々は、三人とも元MVP、現MVPと実績十分となっております。

20100404211555

かんたんC#

著作:伊藤 達也 (マイクロソフトMVP C#)

Blog:Ito Blog

http://www.amazon.co.jp/dp/4774142344

20100404211653

かんたんJava

著者:株式会社インサイトテクノロジー 今川 美保 (元マイクロソフトMVP SQL Server受賞者)

メルマガ:えす!エス!レスキュー SQL Server (SQL Server PMのBlogにて紹介

http://www.amazon.co.jp/dp/4774142336/

20100404211720

かんたんVisual Basic

著者:高橋 広樹 (マイクロソフトMVP PowerShell)

http://www.amazon.co.jp/dp/477414231X/

Deep Zoom on WP7

元記事:Alex Yakhnin's Blog : Deep Zoom on WP7

Deep Zoom (Seadragon) 機能は、SIlverlight バージョン2以降で提供されている機能です。高解像度の画像をインタラクティブに表示できるテクノロジーです。アプリケーションのパフォーマンスに影響を及ぼさずにすばやく、イメージをズームインしたりズームアウトしたりできます。

Deep Zoom Composer and othersのようなツールを使用して予めイメージを用意しておく必要があります。Windows Phone 7上で提供されているMultiScaleImageコントロールを使用することによってDeep Zoom機能を提供します。このコントロールはデフォルトではVisual StudioのToolboxにはありません。Toolbox上で右クリックし、「Choose item...」を選択し、リストからコントロールを有効にします。

その後、コントロールをページ上にドラッグ&ドロップします。MultiScaleImage コントロールはデスクトップ上にあるのと同じように動作します。サンプルコードからコピーすることで、全ての適用なイベントに、とても簡単に実装することができます。行わなければならないことは、「dzi」ファイルパスをURLで指定することで、コントロールが動作します。サンプルで使用されているボタンを再利用しています。

project from here」からサンプルコードをダウンロードすることができます。

CentOS5.3でHyper-V統合サービスでカーネルパニックを回避する方法

Hyper-VでKernel-2.6.32以降を使う〜失敗の巻-へっぽこにっき」を眺めていたら、カーネルパニックという単語が目に入ったので、追加投稿。ただし、カーネルパニックと言う単語に反応しただけなので、このエントリーで解決するかは不明。

先日、Hyper-V2.0上でCentOS5.3を起動するときにHyper-V統合サービスのエラーが発生していました。 カーネルパニックと呼ばれる現象らしいです。英語サイトの情報を元に回避策を実行したら、エラーは出なくなったらしいですよ。

いかんせんLinuxには疎いので、正直回避策も何をしているのかわかっていないので、質問されても困っちゃいますよ~と予め宣言しておきます(^^;

表示されるエラー

BLKVSC_DRV: blkvsc_probe() ERROR!! register_blkdev() failed! ret -16
VMBUS_DRV: vmbus_probe() ERROR!! probe() failed for device vmbus_0_2 (ffff81001ec10488) on driver blkvsc (-16)...
BLKVSC_DRV: blkvsc_probe() ERROR!! register_blkdev() failed! ret -16
VMBUS_DRV: vmbus_probe() ERROR!! probe() failed for device vmbus_0_5 (ffff81001f29a488) on driver blkvsc (-16)...
VMBUS_DRV: vmbus_child_device_register() ERROR!! unable to register child device (ffff81001f29a488) (517406016)
VMBUS: VmbusChannelProcessOffer() ERROR!! unable to add child device object (relid 2)
BLKVSC_DRV: blkvsc_probe() ERROR!! register_blkdev() failed! ret -16
STORVSC: StorVscOnChannelCallback() ERROR!! unable to get stor device...device being destroyed?
VMBUS_DRV: vmbus_probe() ERROR!! probe() failed for device vmbus_0_6 (ffff81001f29a488) on driver blkvsc (-16)...
VMBUS_DRV: vmbus_child_device_register() ERROR!! unable to register child device (ffff81001f29a488) (518192448)
VMBUS: VmbusChannelProcessOffer() ERROR!! unable to add child device object (relid 2)

回避策
  • /boot/grub/grub.conf のkernel部分を編集
    • 「kernel ~」の行に、「id0=noprobe id1=noprobe」を追加
  • 再起動するとエラーが消えました。
参考情報

How can I fine-tune Linux integration components
※出力されていたエラーメッセージもここと同等

Windows Phone 7アイコンパック配布開始

Windows Phone 7フォーラムで要望が多かったMetroアイコンの配布が始まりました~♪

思いのほか早かったですね!

ダウンロードは、Download details: Application Bar Icons for Windows Phone 7 Seriesからできますよ!

提供されているのは、32種類で黒背景と明るい背景用の②パターンで計64個。

ちなみにaiファイルも提供されているので、Blendで編集も可能!

ちなみに提供されいるアイコンは↓です!

20100328192924

アプリケーション・バーに使用するためのアイコンとなっておりますです。

登壇&イベント紹介 技術ひろば.net 4月勉強会

技術ひろば.netの4月勉強会は、Visual Studio 2010リリース記念として、ラウンチイベントが開催されます。

MS小高さんのWCF Data Services、MS松崎さんのWF4というテーマとなっています。

開催日時;2010年4月17日(土) 13:00~

場所:マイクロソフト新宿本社6階セミナールームC

参加申し込みは、2010年4月 勉強会から行えますので、興味を持たれた方は参加してみてはどうでしょうか~♪

尚、蛇足ながら自分もショートセッションで登壇させていただきます~♪

テーマは、「Windows Phone 7 Series初めの1歩」です。

Windows Phone 7についての簡単な紹介とデモをご覧いただく予定となっております。資料作成は順調で勢い余って1時間セッションほどのボリュームとなってしまいそうです(^^;

とりあえず作り終わったら、資料のダイエットを行って概要イメージをつかんでいただけるようにしようと思っています♪

と言うわけで、一応完成。20スライド以上削除したので、15分に収まるかと~♪

Windows Phone 7 Series初めの一歩

当日までに、微調整はすると思う・・・たぶん。

最新投稿をさらに見る 次ページ »