.NET

今から実行するクエリの実行プランが欲しい

SSMS(SQL Server Management Studio) や SQL Database の管理ポータルなんかでは、 クエリを実行する時に一緒に実行プランも取得出来ます。 これを自前でやりたい場合は、SET SHOWPLAN_XML (Transact-SQL) を使います。 サンプルをもとに早速 SSMS から試し…

SignalR でお手軽サーバー Push

最近 SQLWorld の勉強会で SQL を書くハンズオンをやっていますが、そのサイトで SignalR/SignalR · GitHub を利用しています。今回はその実装の一部を紹介します。 どんなのかというと、参加者が書いたクエリを結果ページにどんどん送る箇所で利用していま…

ScriptDom でクエリを改変する

ScriptDom でパースした TSqlFragment をちょっといじって、ジェネレーターで生成するクエリを改造しようという試みです。 TSqlFragment を全部コードで生成するのは結構面倒ですが、パースした後の物を変更する位なら使えるかなと思います。 今回は、複数の…

ScriptDom クエリ生成時に識別子を[]で囲む

SqlScriptGenerator クラス (Microsoft.SqlServer.TransactSql.ScriptDom) でクエリを生成する際のオプション SqlScriptGeneratorOptions クラス (Microsoft.SqlServer.TransactSql.ScriptDom) では、識別子を で囲むオプションがありません。 ですが、ちょ…

TSqlFragment と Visitor

まだまだ ScriptDom ネタです。 TSqlParser でパースした結果は、TSqlFragment として返ってきます。 TSqlFragment クラス (Microsoft.SqlServer.TransactSql.ScriptDom) TSqlFragment の子階層のインスタンスは、Visitor を使うことで簡単にアクセス出来ま…

SQL Server のバージョン毎の TSqlParser

相変わらずの ScriptDom ネタです。 パーサーとジェネレーターには、それぞれ SQL Server 2000, 2005, 2008, 2012 と 4つのバージョンがあります。パーサーは、 TSqlParser クラス (Microsoft.SqlServer.TransactSql.ScriptDom) が基底クラスで、 TSql80Pars…

ビルド時に .sql ファイルを検証する MSBuild インラインタスク

Visual Studio勉強会 : ATND の LT で紹介したネタです。 MSBuild 4 からは、インラインタスクが書ける(MSBuild 4.0 からインラインタスクが書けます - お だ のスペース)ので、 さくっと書いてみた。 ... <ItemGroup> <Content Include="libs\Microsoft.SqlServer.TransactSql.ScriptDom.dll" /> <Content Include="sql\受注テーブル\Delete.sql" /> <Content Include="sql\受注テーブル\Insert.sql" /> <…</content></content></content></itemgroup>

ScriptDom を使って、SELECT で取得しているカラム名を取得するサイト作ったった

T-SQL の パーサーとジェネレーター(ScriptDom)の紹介 - お だ のスペース で紹介した、ScriptDom Sample を隣の人に見せたら、SELECT の列名(エイリアス着けた場合は、エイリアスで)一覧抜き出せないのって聞かれたからやっつけで追加したった。*1 ScriptDo…

T-SQL の パーサーとジェネレーター(ScriptDom)の紹介

SQL Server 用の SQL である T-SQL には、パーサーとジェネレーターが MS から .NET Framework のライブラリとして提供されています。 最新の 2012 ではこちら Microsoft.SqlServer.TransactSql.ScriptDom 名前空間 () 一つ前はこちら Microsoft.Data.Schema…

StyleCop の結果を Jenkins Violations Plugin で表示すると違反箇所のソースコードが表示されないことがある 解決策その2

StyleCop の結果を Jenkins Violations Plugin で表示すると違反箇所のソースコードが表示されないことがある - お だ のスペース で書いてた、第1回 Jenkins駆込み寺 in 大阪 - connpass のときに発表した内容をまとめます。 解決方法としては、StyleCop の…

StyleCop の結果を Jenkins Violations Plugin で表示すると違反箇所のソースコードが表示されないことがある

StyleCop から 結果の XML を出力する - お だ のスペース で StyleCop の結果ファイルを出力するようにしました。 それを Jenkins の Violations Plugin Violations - Jenkins - Jenkins Wiki に渡すと、違反箇所のソースコードが表示されないケースがあり…

StyleCop から 結果の XML を出力する

StyleCop - Home をインストールすると、VS に統合してくれて、VS でビルドすると警告を出してくれて便利なんですが、他のツールに連携する xml ファイルはどうやって吐くのかなと調べてみました。 参考にしたサイト How to use StyleCop with TeamCity - St…

SortedList を List っぽく使う

ネタ。多分こんな使い方しないと思うけど、拡張メソッドで Add を追加してあげたらそれっぽくなるかも? using System; using System.Collections.Generic; public static class SortedListExtensions { public static void Add<T>(this SortedList<int, T> target, T s</int,></t>…

ODP.NET4 を使っているのに、.NET Framework 3.5SP1 が入っていない環境だとエラーが発生する。解決編

ODP.NET4 を使っているのに、.NET Framework 3.5SP1 が入っていない環境だとエラーが発生する - お だ のスペース ODP.NET4 を使っているのに、.NET Framework 3.5SP1 が入っていない環境だとエラーが発生する。その 2 - お だ のスペース の続きです。 ODP…

ODP.NET4 を使っているのに、.NET Framework 3.5SP1 が入っていない環境だとエラーが発生する。その 2

ODP.NET4 を使っているのに、.NET Framework 3.5SP1 が入っていない環境だとエラーが発生する - お だ のスペース の続き といっても大した事ではなくて、同じ現象の人が他にもいたよーって事です。 Oracle のフォーラムに投げてたんですが進展せずでしたが…

Unity コンストラクタ インジェクションのメモ

config ではなくて、コードからコンストラクタインジェクションを指定する際のメモ Registering Injected Parameter and Property Values では、値を直接指定する例は載ってたのですが パラメータ を Container から取る例が無かったのでメモ using System; …

ODP.NET4 を使っているのに、.NET Framework 3.5SP1 が入っていない環境だとエラーが発生する

システム要件 ドキュメントのシステム要件では、.NET 4 or .NET4 Client Profile となっているんですけどねー。 実行環境 WindowsXP SP3 .NET Framework 4 Client Profile (.NET 2系は未インストール) ODP.NET4 再現コード using System; using Oracle.DataA…

メモ:Unity の config ファイルのスキーマー

Unity は .NET の DI コンテナです。Unity Container config ファイルのスキーマー Unity 2.0 The Unity Configuration Schema Unity 1.2 Unity Configuration Schematic 参考にした patterns & practices: Project Silk - Home では、1.2 の形式で書かれて…

ODP.NET OracleCommand はデフォルトではバインド変数に名前指定出来ない

OracleCommand の BindByName プロパティを true に設定すると、名前指定可能になります。 OracleCommandクラス しかし、デフォルトは false です。 ドキュメント読んでなくて、全然気づかなかった。。普通に名前指定でいけてる感じで使ってました。 しかも…

ODP.NET4 をインストールする

公式のドキュメントはここらへん 目次 Oracle Data Access Componentsのダウンロード から、ODAC 11.2 Release 4 (11.2.0.3.0) with Xcopy Deployment をダウンロードします。 適当なフォルダに解凍後、中の install.bat を実行します。 install.bat ODAP.NE…

【解決】 OpenCover で結果が取れない か nunit-agent がハングする

OpenCover で結果が取れない か nunit-agent がハングする - お だ のスペース の続きです。 コメントにて、「nunit-agent がハングする問題」の対応方法を教えて頂いたので、「Jenkins から実行して OpenCover の結果が取れない」についても調べて、無事解…

メモ:ビルドサーバーに Windows SDK7.1 の後 Windows SDK 7.0 を入れると、MSBuild で AL.exe が無いと怒られる

ここらへんと同じ症状です。 .net - Running MSBuild fails to read SDKToolsPath - Stack Overflow Task could not find "AL.exe" でエラーが出た時の対応 - dunno logs Windows SDK7.1 はこちら Download Microsoft Windows SDK for Windows 7 and .NET Fr…

メモ:ビルドサーバー(Jenkins)で MSBuild から T4 Template を実行する時の注意点

ビルドサーバーには、Download Microsoft Visual Studio 2010 Visualization & Modeling SDK from Official Microsoft Download Center はインストールしていません。*1 ビルド処理でのコード生成 引用 isual Studio がインストールされていないコンピュータ…

OpenCover で結果が取れない か nunit-agent がハングする

OpenCover/NUnit のバージョンは、現時点(2012/05/30) で NuGet からインストール出来る最新版です。 OpenCover:4.0.301 NUnit:2.6.0.12054 NUnit.Runners:2.6.0.12051 OpenCover + NUnit の組み合わせで nunit-agent.exe が終わらない or No results - n…

FxCop、OpenCover、NUnit を実行する MSBuild ファイル(Report.proj) を作ってみた

NUnit、PartCover を組み合わせた MSBuild ファイル(.proj) を作る (個人的なメモ) - お だ のスペース では、PartCover を使っていましたが、今回は OpenCover を使いました。 次のような構成のソリューションを対象にしています。 Sample.sln Sample.WinFo…

わんくま同盟 大阪勉強会 #48 で Selenium の話しをしてきました

4/7(土) に わんくま同盟 で Selenium WebDriver の話しをさせてもらいました。以前 鍋駆動 テスト冬の陣 で Selenium WebDriver の話しをしました - お だ のスペース で話した資料を完成させたバージョンです。 Selenium webdriver使ってみようず View mor…

メモ:MSTest にトレースを仕込む

MSTest.exe にトレースを仕込むには、コンフィグファイル(MSTest.exe.config) にトレース仕込むだけでした。 Test Agent - Error when run through MS Test

.NET 4.5 が入っている環境だと Moles が使えない?

VS11 Express Beta for Web をインストールしている環境に、Pex 0.94.51023.0 をインストールし、VS2010 から mscorlib に Moles を使おうとしたら、大量のコンパイルエラーが! どうも .NET 4.5 で追加されたクラス群も Moles 用のコードが自動生成されてし…

C# で Selenium2(WebDriver) を使ってみる

.NET 用のも出ているので試してみる。 NuGet Install-Package で次の2つをインストールします。 Install-Package Selenium.WebDriver Install-Package Selenium.Support NuGet Gallery Selenium.WebDriver NuGet Gallery Selenium.Support Selenium.WebDrive…

MSBuild 4.0 からインラインタスクが書けます

MSDN MSBuild インラインタスク MSDN チュートリアル: インライン タスクの作成 MSBuild ファイル(.*proj) や ターゲットファイル(.targets) ファイル内に C# でタスクを実装出来るよという感じです。 Test.proj <Project xmlns='http://schemas.microsoft.com/developer/msbuild/2003' DefaultTargets="Test" ToolsVersion="4.0"> </project>