メインコンテンツへスキップ

伝票番号、採番管理データ、レコードロック

コメント

4件のコメント

  • nkmt

    ISHIJIMAさん ありがとうございます。

    dbMAGIC V8 + Pervasive だったシステムを
    xpa4.6.1 + SQL Server にマイグレーションしたシステムが
    今月末から本番でして。

    15台でいっせーので保存実験などがまだ出来ていなくて。

    採番部分だけはトランザクション完結させてから、
    実データ保存に突入するといった作りに変えました。

  • hira

    伝票番号の採番用データソースを用意しての採番管理だと思います。
    条件でSQLServerの場合、以下のようにしています。

    採番の番号を取得・最終売上伝票番号を更新するプログラムを作成しコールで呼び出して、以下のような特性にしています。
    〇タスク特性
    トランザクションモード:物理
    トランザクションの開始:タスクの前の前
    ロック方式:即時
    エラー発生時:復旧

    〇データソース特性
    アクセス:書込
    共有:なし
    オープン:標準

    ロックが一瞬発生しますがすぐに外れて使えるようになります。

  • nkmt

    hira様、詳細にありがとうございます。

    ほんの一瞬完全に占有するという考えですね。

    私の場合、採番データはキーを複数用意して、売上伝票採番、入金伝票採番などを兼用する事が多いですけど、WWNで開く事が多いです。

    WRNも全然使いませんが、WWNもいいのでしょうね。

    こういった内部の作りもお二方アドバイスくださり感謝です。

  • nkmt

    採番プログラムで書き出しリンクしている採番管理データが
    WWN キャッシュ=Yes になっていたので、
    WWN キャッシュ=No に変えてみました。

    採番を行うサブPGを同時にPC20台ぐらいで呼んだら
    19件ぐらいレコードロック解除待ちが出るのでしょうね。

    でも全てユニークな番号が採番されて問題は実質生じないでしょうね。

サインインしてコメントを残してください。