ado.net

SqlConnectionの接続タイムアウトを確認してみる

SQL Serverで単にタイムアウトと言っても接続タイムアウトとクエリタイムアウト(コマンドタイムアウト)の2つがあります。発生するタイミングが違いますし、それぞれ理解しておきたいなと思います。 まずはちょっと簡単に整理します。 接続タイムアウト 名…

SqlCommandがタイムアウトした時にスローされるSqlExceptionを確認する

SqlCommandにはタイムアウトの時間を設定するSqlCommand.CommandTimeoutプロパティがあります。 SqlCommand.CommandTimeout プロパティ (System.Data.SqlClient) MSDNからもわかりますがタイムアウトした時にはSqlExceptionがスローされます。 このSqlExcept…

T-SQL - TOP句とパラメータ

SELECT文のTOP句にパラメータを使用できることを初めて知りました。 こんな感じ。Dapperでクエリを実行するサンプルです。 // TOP句に@countを指定する var sql = @" select top (@count) * from (values (N'ホルモン', 490), (N'カルビ', 880), (N'キムチ',…

PRINT・RAISERRORとSqlConnection.InfoMessageイベント

T-SQLのPRINTを使うとクライアントにメッセージを通知できます。そのメッセージはSqlConnection.InfoMessageイベントで取得できます。 また、RAISERRORでも重大度(severity)が10以下の場合は、同様にSqlConnection.InfoMessageイベントでメッセージを取得…

SqlCommand の実行を SQL Server Profiler でトレースしてみた

SqlCommand の ExecuteReader でクエリを実行する時にパラメータを渡すと sp_executesql を使って実行されます。パラメータを使わないと sp_executesql は使われないようです。 MSDN より引用します。 ADO.NET での side-by-side 実行 .NET Framework versio…