C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

PostgreSQLのエラーコードを取得する方法

[トピック内 5 記事 (1 - 5 表示)]  << 0 >>

■83646 / inTopicNo.1)  PostgreSQLのエラーコードを取得する方法
  
□投稿者/ taka (3回)-(2017/03/31(Fri) 20:14:02)

分類:[C#] 

お世話になります。

当方、以下の環境で開発を行っています。

言語     :C#
データベース :PostgreSQL

現在C#とPostgreSQLの連携にEntityFrameworkを使用しています。

EntityFrameworkのSaveChanges()にてDB更新系の処理を行っています。
更新時に起きたエラー(異常終了系)を、PostgreSQLのエラーコードにて振り分けを行いたいと思っていて、
「System.Data.Entity.Infrastructure.DbUpdateConcurrencyException」にて
例外をCatchしています。

ただ、このExceptionではPostgreSQLのエラーコードが取得できずに困っています。
上記環境でPostgreSQLのエラーコードを取得する方法はありますでしょうか?

もし同じような環境にて開発を行ったことがある、
こうすればいいのでは?等々の知識がありましたら
ご回答の程、よろしくお願い致します。

出来る限り早めに解決させたいため、
早めの回答であると助かります。
引用返信 編集キー/
■83648 / inTopicNo.2)  Re[1]: PostgreSQLのエラーコードを取得する方法
□投稿者/ フレンズ (2回)-(2017/03/31(Fri) 20:33:00)
To: takaさん

InnerExceptionを辿っても見当たらない感じですか?
引用返信 編集キー/
■83649 / inTopicNo.3)  Re[2]: PostgreSQLのエラーコードを取得する方法
□投稿者/ taka (5回)-(2017/03/31(Fri) 20:36:36)
No83648 (フレンズ さん) に返信
> To: takaさん
>
> InnerExceptionを辿っても見当たらない感じですか?
そうですね、InnerExceptionも辿ってみました。
「DbUpdateConcurrencyException」から1階層はInnerExceptionで辿れましたが、
それ以降はNullが返ってきました。

2週間前くらいに違う方法を試したときは見当たっていたと記憶しているのですが
そのときの手法はもうほとんど覚えてなくて・・・。
しかもその際も、色々試行錯誤してもErrorCodeを取得できなかった気がします。

HResultの結果も16進から変換してみましたが、
残念なことにエラー内容不明でした。
引用返信 編集キー/
■83657 / inTopicNo.4)  Re[3]: PostgreSQLのエラーコードを取得する方法
□投稿者/ フレンズ (3回)-(2017/03/31(Fri) 22:58:30)
To: takaさん

http://qiita.com/yahweh/items/1f1f1bf8b09c7d60cfbd

↑これどうでしょう?
引用返信 編集キー/
■83658 / inTopicNo.5)  Re[4]: PostgreSQLのエラーコードを取得する方法
□投稿者/ taka (6回)-(2017/03/31(Fri) 23:07:00)
No83657 (フレンズ さん) に返信
> To: takaさん
>
> http://qiita.com/yahweh/items/1f1f1bf8b09c7d60cfbd
>
> ↑これどうでしょう?
このサイトも見て試してみました。
SaveChanges処理では普通に見れないSQLの実行結果が表示されるだけで
特にエラーコード等は取得できませんでした。

日本国内のサイトに関しては虱潰しに全部見たつもりです・・・。
あと国外のStackOverflowに関しても、一部は見てみました。

何かいい案がないものか・・・

エラーコードを特定できれば、
そのコードで分岐して、ロック時等に再度SaveChanges処理を行えるよう、
Retry処理を入れるよう考えています。

引用返信 編集キー/

このトピックをツリーで一括表示


トピック内ページ移動 / << 0 >>

このトピックに書きこむ