アーカイブ

Archive for 2012年11月

Windows 8 RT Surface screen capture. | Optimum Performance Systems

Windows 8 RT / Surfaceでのスクリーンキャプチャーの方法
Windowsキーを押しながらボリュームダウンキー

# WordPressの共有ってブログの投稿になるのかな?

広告
カテゴリー:未分類

Surface RT からポストしてみる。

Surface RTのWordpressからブログにポストしてみる。

これで使っていたドスパラのEldesPADと比べると軽くて、バッテリーも長く持つのでホクホクしています。

付属のキーボードはタッチ感がないのと、うちもらしがちょっと気になるのでしばらく文章を入力する練習がてら、ちょこちょこポストしてみようかと思います(希望)。

#うーん、Wordpressアプリからは写真を投稿したりできないのか。

#LiveWriterのWindowsStoreアプリでないかなー

カテゴリー:未分類

LINQ PadでOracleのテーブルに対してクエリーを発行する。

LINQ Padは言わずと知れたLINQ実行環境です。

こいつを使えば、LINQ to ObjectsやLINQ to XML、LINQ to SQL、LINQ to Entitiesなんかに対するクエリーをさらっと記述してさらっと動作確認することができます。クエリの結果もわかりやすく構造化されて表示されるのでちょっと確認するにはぜひ手元においておきたいツールです。

今回はOracleに対してLINQ PadからLINQクエリーを発行するにはどうしたらいいんだろう?って話です。

IQ(IQ Toolkit)のインストール

LINQ PadでSQL Server以外のRDBMSにクエリーを発行する場合は、CodePlexで公開されているIQToolkitを利用します。LINQ Padからインストールする場合は、Choose a Driverウインドウからダウンロードしてインストールすることができます。

imageimage

ここでは他にも下記のドラーバーをインストールすることができます。

  • IQ Driver – for MySQL、SQLite、Oracle
  • Microsoft Streamlnsight Driver
  • Azure Table Strage Driver
  • Mindscape LightSpeed Driver
  • LLBLGen Pro Drivers
  • DevExpress eXpress Persistent Objects Driver
  • DevForce LINQPad Driver
  • NoSQL FileDb Driver

    Oracleへの接続

    新しいデータソースを追加するには、LINQ PadのAdd connectionリンクからChoose Data Contextウインドウを表示し、先程インストールしたIQ(Supports Oracle, MySQL, SQLite)を選択します。

image

続けてRDBMSの接続方法を定義します。今回はクライアント側にOracleクライアントがインストール済みなのでOCIを選択しました(簡易TNSって楽でいいですねー)。Oracle Clientがインストールされていない環境用にDirect接続もできるようですが、AdvancedタブでSIDやもろもろを設定しても上手くつながりませんでした。

テーブル名を複数形にする必要は無いので、Pluralize EntitySet and table propertiesはOFF、テーブル名のアンダーバーを削ったり短くしたりする必要もないのでCapitalize Property NamesもOFFでデータソースを定義します。

image

クエリーを実行してみる。

ORACLE側で定義されているテーブルに対して、LINQ経由でクエリーを実行してみましょう。

CREATE TABLE KARUATEST ( 
ID NUMBER(28) NOT NULL,
NAME VARCHAR2(100),
CONSTRAINT PK_KARUATEST PRIMARY KEY(ID)
)
 
NAMEの先頭が”karua”で始まっているもの。
KARUATEST.Where(user => user.NAME.StartsWith("karua"))

image

でました。

大文字、小文字無視で。
KARUATEST.Where(user => 
user.NAME.StartsWith("karua", StringComparison.InvariantCultureIgnoreCase))
image
あれ?結果が変わりませんね。SQLタブを見てみると。
SELECT t0.ID, t0.NAME
FROM KARUATEST t0
WHERE (t0.NAME LIKE :p0 || '%')

うーん、StringComparison.InvariantCultureIgnoreCaseを考慮してくれないようです。
こうかな?
KARUATEST.Where(user => user.
NAME.ToUpper().StartsWith("karua".ToUpper()))

image
上手く出ました。このあたりの解釈は、IQueryableのドライバーによって変わってきますね。
SQLを見てみるとこんな感じに展開されています。
SELECT t0.ID, t0.NAMEFROM KARUATEST t0
 WHERE (UPPER(t0.NAME) LIKE :p0 || '%')

もちろんこのクエリーだとカラム側にUPPER関数が実行されるので、関数インデックスがない場合はSQL的によろしくないですが、まぁとりあえずいいでしょう。パラメーター側はちゃんと.NET側で大文字にしてからバインド変数に渡していますね。

まとめ

実際の動作は各LINQプロバイダーによって動作が変わってくるので、実際の動作は動作環境に合わせてプログラム側で確認する必要があります。場合によっては、IQ側ではサポートされているけれど、ODP.NET側ではサポートされていないってことがあり得る。

もちろん実際のプログラムにでもIQToolkitを使ってプログラミングしてあげればいいんでしょうが、そうも言えないと思うので、LINQ Padでの確認は、こんな文法で行けるかなってのをなんとなく確認するという感じにとどめたほうがいいでしょう。

カテゴリー:プログラミング, メモ, Oracle タグ:

びっびっくり!! スティーブン・シノフスキー氏が退社

RSSを流し読みしていたら、びっくりするニュースが!!

マイクロソフトの「次期CEO」スティーブン・シノフスキー氏が突然の退社

Windows 8のリリースを見届けてということなんでしょうが、びっくりです。

カテゴリー:メモ タグ:

Kindle化リクエスト

プログラム関連の技術書も出来ればキンドルで読みたいですが、まだまだ、というか.NET系は中村薫さんのKinect for Windows SDK v1.6 概要 C#編 [Kindle版]ぐらいしか見当たりません。今Amazonの通常ページ(キンドルストアーではないページ)を参照すると、書籍の下の方にこんなリンクが表示されます。

image

そういえば、かずきさんがWindows8ストアアプリ開発入門を出版されたらしいのでKindle化のリクエストを送ってみました。

カテゴリー:雑記

スマートフォンからの共有機能を使った投稿って結構いいかも。

いまさらですが、スマートフォンのきようゆうきのうを使った投稿って結構いいかも。

この頃のスマートフォンでは、アプリの共有機能でTwitterやフェイスブックへURLを共有できますよね。これまではEvernoteへWEBPAGEのクリップをおくっていただけなんだけれど、WordPress経由のブログ投稿が結構いいかもと思ってきました。

フリックにゅうりよくも慣れてきたことだし、しばらく続けてみます。

カテゴリー:未分類

MSもそっぽ 日の丸携帯の危機:日経ビジネスオンライン

日経オンラインの記事をみていると、日本製の携帯電話はあと数年と立たないうちになくなる気がするよね。 http://business.nikkeibp.co.jp/article/topics/20121026/238611/?P=1

カテゴリー:未分類