私は今、Access + SQL-Serverという構成で伝票を登録するシステムを保守しています。

システムは、概ねうまく運用できていますが、社内のネットワークのうちで本社から離れた
分室から伝票を登録しようとすると、まれに採番がうまくいかず、-1番という、
初期化状態の番号の伝票ができてしまうことがあります。(分室はVPNで本社と繋がれています)
この現象は再現性が100%ではなく、たまに起こる事故です。なので、原因として、おそらく
VPNなどが関係しているとは思うのですが、そこがはっきりせずに対応に苦慮しています。
このようなことが起こる原因と対応策をご存知の方がいらしたら

ご指導ご鞭撻のほどよろしくお願いいたします

回答の条件
  • 1人5回まで
  • 13歳以上
  • 登録:2013/01/22 22:10:46
  • 終了:2013/01/26 00:11:25

ベストアンサー

id:pretaroe No.2

pretaroe回答回数531ベストアンサー獲得回数752013/01/23 01:31:43

ポイント33pt

採番方法によるかと思います。
初期値が-1ということなので、自前のロジックだと思います。

採番ロジックでログを出力して調査するのが良いかと思います。

もしくは、トランザクションの開始・終了の処理をきちんと書かれていなくて
途中でトランザクションが切れてしまうと、ダメだとかそういう感じなのかもしれません。

ロジック見直す方向が良いかと思うのですが・・・。

不正なデータがどんな状況であっても作成されるのは、よろしくないと思うので。

SQLServerのIDENTITYプロパティーを使用する方式にかえるとかでも
問題は解決するかもしれません。

id:hiro999

回答ありがとうございます。
採番ロジックでログを取るというのは気づきませんでした。
ただ、まれに出る現象ですし、わざわざ分室で調査するというのもなかなか難しいのです。
IDENTITYプロパティを使えば問題はなくなりそうですね・・ただ、それは最後の手段にしたいと思っています。
回答ありがとうございました。

2013/01/24 00:09:39
id:hiro999

考えてみましたが、まず、ログをとって原因を調べるのが一番かと思いました。
時間さえあれば、そのようにしたいと思います。回答ありがとうございます。

2013/01/26 00:10:08

その他の回答(2件)

id:oil999 No.1

oil999回答回数1728ベストアンサー獲得回数3202013/01/22 22:28:49

ポイント34pt

分室がAccessを使って、本社のSQL Server側で採番している。本社と分室はVPNで接続されているという状況ですね。

どのようなVPNをご利用なのか分からないので確実なことは言えませんが、VPNルーターがオンデマンド接続の設定になっていませんか。
オンデマンド接続だと一定間隔で回線が切断されるため、運悪く回線切断中にアクセスしようとするとSQL Serverに接続できません。
接続方法を常時接続に切り替えてみて下さい。

id:hiro999

おっしゃる通りのネットワーク構成です。
VPNの設定はよくわからないのですが、
確か切り替えることはできないと聞いています。
VPNの接続設定が色々あることを知って参考になりました。
ありがとうございました。

2013/01/24 00:11:47
id:pretaroe No.2

pretaroe回答回数531ベストアンサー獲得回数752013/01/23 01:31:43ここでベストアンサー

ポイント33pt

採番方法によるかと思います。
初期値が-1ということなので、自前のロジックだと思います。

採番ロジックでログを出力して調査するのが良いかと思います。

もしくは、トランザクションの開始・終了の処理をきちんと書かれていなくて
途中でトランザクションが切れてしまうと、ダメだとかそういう感じなのかもしれません。

ロジック見直す方向が良いかと思うのですが・・・。

不正なデータがどんな状況であっても作成されるのは、よろしくないと思うので。

SQLServerのIDENTITYプロパティーを使用する方式にかえるとかでも
問題は解決するかもしれません。

id:hiro999

回答ありがとうございます。
採番ロジックでログを取るというのは気づきませんでした。
ただ、まれに出る現象ですし、わざわざ分室で調査するというのもなかなか難しいのです。
IDENTITYプロパティを使えば問題はなくなりそうですね・・ただ、それは最後の手段にしたいと思っています。
回答ありがとうございました。

2013/01/24 00:09:39
id:hiro999

考えてみましたが、まず、ログをとって原因を調べるのが一番かと思いました。
時間さえあれば、そのようにしたいと思います。回答ありがとうございます。

2013/01/26 00:10:08
id:taknt No.3

きゃづみぃ回答回数13539ベストアンサー獲得回数11982013/01/23 09:18:37

ポイント33pt

>まれに採番がうまくいかず、-1番という、初期化状態の番号の伝票ができてしまうことがあります。

-1だったら再取得するようにすればいいだけだと思いますよ。

id:hiro999

お答えありがとうございます。
なるほど、トランザクション中に採番しているのですが、
その時に-1だったら採番し直すのですね。
さしあたってまずはそれで試してみたいと思います。
ありがとうございました。

2013/01/24 00:13:47

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません