.NET

メモ:DacFx の .NET 6 対応版が出てた

去年は preview じゃないとダメだったけど、 メモ:DacFx を .NET 6 で使用しようとすると、未だ preview 使わないとダメ - お だ のスペース いつのまにか正式版出てた。 www.nuget.org

メモ:DacFx を .NET 6 で使用しようとすると、未だ preview 使わないとダメ

DacFx doesn't work on .NET 6 · Issue #33 · microsoft/DacFx · GitHub NuGet Gallery | Microsoft.SqlServer.DacFx 160.5323.3-preview より上のバージョン使ったらセーフ。

メモ:Oracle Cloud の DB に Azure Web Apps から接続する

メモ:App Service Plan は Basic 以上じゃないとダメだって。 https://blogs.oracle.com/database/post/connecting-azure-web-apps-to-oracle-autonomous-database

メモ:SqlDataReader.GetColumnSchema は データ読まないので明らかに暗黙の型変換でエラーが出る場合でもセーフ

タイトル長い… まあ当然といえば当然なんですが、明らかにダメなやつでも通るとちょっとびっくりする。。 例:文字型の列に 日付型のパラメータ渡す。 using Microsoft.Data.SqlClient; using System; namespace ConsoleApp1 { class Program { static void …

メモ:Google.OrTools

NuGet Gallery | Google.OrTools 9.0.9048 About OR-Tools | Google Developers Vehicle Routing | OR-Tools | Google Developers

Internal retry logic providers in SqlClient の動作確認

SqlClient の内部再試行ロジック プロバイダー - ADO.NET Provider for SQL Server | Microsoft Docs を試したのでログ貼っとく。 環境は .NET 5.0 Microsoft.Data.SqlClient 3.0.0 SqlClient での構成可能な再試行ロジック構成ファイル - ADO.NET Provider …

メモ:Azure SDK .NET スレッドセーフ

.NET Azure SDK Design Guidelines | Azure SDKs ✅ DO be thread-safe. All public members of the client type must be safe to call from multiple threads concurrently. Azure SDK for .NET でのスレッド セーフ | Microsoft Docs

xUnit.NET の パラレルテスト と SQL Server (Local DB) で bacpac から import のメモ

上手くいくかは未検証! データは、if exists drop database + import bacpac で考える。 ※楽だから Local DB 前提で書いたけど、Local DB じゃなくても問題無さそう。 テスト側ではトランザクション制御出来ない前提。 Web App とかで HTTP 跨ぐようなイメ…

メモ:TransactionScope の既定の分離レベルは Serializable

公式の ドキュメント を探す機会があったのでメモ。 トランザクション スコープを使用した暗黙的なトランザクションの実装 | Microsoft Docs TransactionScope 分離レベルの設定の箇所 から抜粋 既定では、トランザクションは Serializable に設定された分離…

.NET Core で SqlConnection の ConnectTimeout が 15未満に設定しても無視されてそう。

.NET Framework と .NET Core で動作が違う。 SQL Server 2019 Developer Edition (サービスは止めとく) .NET Core 5 / 3.1、.NET Framework 4.8 Microsoft.Data.SqlClient 3.0.0 なんか、.NET Core だと、既定値の 15 未満に設定しても、既定値の 15 で動い…

SqlParameter で ~char(max) の時の Size は -1

size は -1 を渡す。 公式ドキュメントが中々見つからないのが難点…。 大きい値 (max) データの変更 - ADO.NET | Microsoft Docs から抜粋 CREATE PROCEDURE GetDocumentSummary ( @DocumentID int, @DocumentSummary nvarchar(MAX) OUTPUT ) AS SET NOCOUNT…

メモ:EF (Core) で IDbContextTransaction の Rollback は要る?

entity framework - DbContextTransaction Rollback - Stack Overflow ちゃんと Dispose してたら SQL Server 相手にしてる分には無くても良さげ。 他の DB は実装次第なんでちゃんとやった方が良いけど、ちゃんとやるのめんどくさい。。*1 *1:TransactionSc…

メモ:Application Insights で SQL Server のクエリを勝手に取る設定が変わってた

知らんうちに変わってた。 Azure Application Insights における依存関係の追跡 - Azure Monitor | Microsoft Docs SQL 呼び出しの場合、サーバーとデータベースの名前が常に収集され、収集された DependencyTelemetry の名前として保存されます。 "データ" …

ScriptDom で サブクエリを CTE に書き換えるサンプル(叩き台)

だいぶ昔に書いた SQL Server のバージョン毎の TSqlParser - お だ のスペース にコメントが付いてたので雑にサンプル。 yutap01 だいぶ昔の投稿についての質問になります。 よろしければお知恵を拝借したいのですが、 TSqlParserを使って、複雑なTSQLを複…

メモ:Swashbuckle Swagger で 40系の ProducesResponseType(typeof(void), ...) が ProblemDetails に変わる回避策

ProducesResponseType(typeof(void), ...) causes ApiExplorer to indicate the return type is ProblemDetails · Issue #7874 · dotnet/aspnetcore · GitHub 40系はデフォだと ProblemDetails Class (Microsoft.AspNetCore.Mvc) | Microsoft Docs になって…

メモ:T-SQL OUTPUT 句使ったときに INTO 付けてないと TRIGGER あったら怒られる

OUTPUT 句 (Transact-SQL) - SQL Server | Microsoft Docs トリガー 使ってたら怒られたのでドキュメントのメモ。 INTO キーワードを指定せずに OUTPUT 句を指定すると、DML 操作を行った先では、その DML アクションに対して定義されたトリガーを有効化でき…

メモ:Swashbuckle Swagger hide property

How to hide property from displaying in Swagger? · Issue #1230 · domaindrivendev/Swashbuckle.WebApi · GitHub Query String は、[BindNever] 、他は、[JsonIgnore] でOK。 リクエストのパラメータで、getter しかなくて readonly なのに、readonly と…

メモ:.NET 3.5 で使える Dapper のバージョン

.NET Core じゃなくて、昔の .NET Framework 3.5 の方。 調べる機会があったのでメモ。 NuGet Gallery | Dapper 1.42.0

.NET Core の SqlConnection の ConnectionRetryCount が動いてないっぽいのが直ってました

.NET Core の SqlConnection の ConnectRetryCount ちゃんと動いてない? - お だ のスペース でなんか動いてないなーって思ってたら修正されました。 やっぱバグやったみたいですね。 Fix connection resiliency check by David-Engel · Pull Request #310 …

.NET Conf関西 2019 で .NET + SQL Server Tips というお題で話してきました

.NET Conf関西 2019 - connpass 資料はこちらですが、デモ中心なので資料だけ見てもアレかも。 Dot net+sql server tips from Oda Shinsuke 主に System(Microsoft).Data.Sqlclient 名前空間のクラスを使った話しが主なので、興味ない方も居られたと思います…

.NET Core の SqlConnection の ConnectRetryCount ちゃんと動いてない?

検証コード .NET Core SqlConnection ConnectRetryCount not work? · GitHub .NET Framework 4.7.2 + System.Data.SqlClient 4.7.0 と .NET Core 3.0 + System.Data.SqlClient 4.7.0 で 同じコード動かしたけど、例外が発生する時間が違う。。 なんやろ? 20…

.NET Conf関西 2019 で話しします

来週 10/19(土) に、.NET Conf関西 2019 - connpass で .NET + SQL Server Tips というタイトルでお話しします。 Tips なので既に知ってるという方も居られるかもしれませんが、 何人の方にはへーっと思って頂ければと思っています。 満席間近みたいなので、…

LambdicSql で bit型(bool) をリテラルで指定する場合の対処法

LambdicSql でリテラルをパラメータ化したくない場合は DirectValue か N 使おう - お だ のスペース で、DirectValue 使おうねーって書いたけど、bit型のカラム(.NET の型だと bool) は DirectValue をそのまま使うとエラーなクエリが吐かれます。 using La…

LambdicSql でリテラルをパラメータ化したくない場合は DirectValue か N 使おう

前回 LambdicSql ネタ書いたので、小ネタを何個か。 LambdicSql でリテラル値を使うと勝手にパラメータ化されます。 が、パラメータ化したくない時もあります。*1 using LambdicSql; using System; using System.Data.SqlClient; using static LambdicSql.Sq…

LambdicSql で共通な select from を使った union

GitHub - Codeer-Software/LambdicSql GitHub - Codeer-Software/LambdicSql.SqlServer を使ったサンプル。 元ネタ window.twttr = (function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0], t = window.twttr || {}; if (d.getElementById(id)) …

x64 な OSで Any CPU(32bit優先) な アプリを Friendly + nunit3-console でテストする

何も気にせず動かしたら、こんなエラーが出た。 Codeer.Friendly.FriendlyOperationException : プラットフォームターゲットがテスト対象とテストプロセスで異なります。合わせてください。 アプリが x86 で、nunit3-console が x64 やでーって感じっぽい。 …

.NET Core の DacFx の bacpac 試してみた

.NET Core 2.2 のコンソールアプリなら、 NuGet Gallery | Microsoft.SqlServer.DACFx 150.4384.2-preview でシンプルな DB なら問題無く bacpac 取れた。 .NET Core 2.1 なら、幾つかのアセンブリが古いっぽいので、バージョン上げたら動いた。 System.Data…

.NET で SQL Server/Database のbacpac を取得する

質問されたので書いときます。 DacFx 使ってサクッと出来ますよ~。 NuGet Gallery | Microsoft.SqlServer.DacFx.x64 150.4384.2 var connstr = @"~"; var dac = new DacServices(connstr); dac.ExportBacpac(@"d:\TurorialDB.bacpac", "TutorialDB"); 細か…

メモ:コネクションプールを使ってる時の SqlConnection を Close した時の内部動作

GitHub 上でコード追っかけたのでメモ ※実行してトレースしたわけでは無いので間違ってるかも 生きてる SqlTransaction があっても、Rollback 呼んでそう。 SqlConnection.Close() で SqlConnection.CloseInnerConnection() https://github.com/dotnet/coref…

DACFX の .NET Core 版がぼちぼち出る?

DacFx .NET Core Support · Issue #20 · Microsoft/DACExtensions · GitHub 試してませんが preview あるようです。 NuGet Gallery | Microsoft.SqlServer.DACFx 150.4240.1-preview