2016年6月28日火曜日

InvalidConstraintException

System.Data.InvalidConstraintException ForeignKeyConstraint FK_xxx_yyy によって制約が実行され、xxx に子行が存在するため、テーブル yyy を消去できません。

new yyyTableAdapter().Fill(dataSet1.yyy);

リレーションが、

親テーブル yyy
└子テーブル xxx

「制約が有効」な状態です。

内部的には、親テーブル yyy の内容を消して(Clear)、フィル(Fill)しようとしている。

子テーブル xxx にデータが存在する場合、親が Clear によって消えてしまう。ここで制約違反が発生。

回避方法:
  • yyyTableAdapter の ClearBeforeFill を False にしてから、Fill を実行。
  • dataSet1.EnforceConstraint = False にしてから、Fill する。すると、制約違反は検知されなくなるので、自由にテーブルを構築できる。
ClearBeforeFill について・・・他の人がレコードを削除する場合が有るので、それを反映する方法として一旦全部消去する方法が有効。

2016年6月14日火曜日

UltraVNC ZRLE 等の選択

UltraVNC Connection Options にて、Format and Encoding の選択がたくさんあるので、主観的に調査してみました。色数は、256 Colors で。測定内容は、コンソールアプリで 20 文字程度を縦に流し続ける程度の物です。


ZRLE  10kbps
Tight 13kbps
Zlib(+xor) 12kbps
ZlibHex 200kbps
Hextile 200kbps
RRE 測定不能。早々にフリーズ
CoRRE 測定不能。上昇し続ける
Ultra  測定不能。上昇し続ける
ZYWRLE 10kbps
u2 FullColors 測定不能。上昇し続ける
XZ   10kbps
XZYW 10kbps



数値が小さいほど良いです。

10kbps → 約 1,250 bytes/sec