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

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

ログ内検索
  • キーワードを複数指定する場合は 半角スペース で区切ってください。
  • 検索条件は、(AND)=[A かつ B] (OR)=[A または B] となっています。
  • [返信]をクリックすると返信ページへ移動します。
キーワード/ 検索条件 /
検索範囲/ 強調表示/ ON (自動リンクOFF)
結果表示件数/ 記事No検索/ ON
大文字と小文字を区別する

No.54043 の関連記事表示

<< 0 >>
■54043  ASP呼び出し中にPCがフリーズ
□投稿者/ らん -(2010/10/04(Mon) 08:55:55)

    分類:[ASP.NET (VB)] 

    WinXP SP3,VB.NET2005
    DB:SQLServer2003

    ASPの問題ではないかもしれませんが、開発はASPで行っていますのでこちらで質問させていただきます。

    複数のクライアントPC(IE)からデータを入力し、ASPでサーバーのDBに登録するというシステムを作成しています。
    問題なく動作していたのですが、クライアントの一台が「登録」ボタンを押下後にフリーズしたようです。

    その後DBを確認したところ、テーブルにデータが新規登録されていたのですがテーブルデータの内容に抜けがありました。
    登録時に入力チェックを行っておりそれをクリアしないと登録処理は実行しません。
    なのでブラウザで入力した際は正しいデータが入力されていたと推測しています。

    データ内容に抜けがあったとは、例えば
    金額、消費税、税込金額という入力項目があったとして、それぞれテーブルにも同じ項目があるとします。
    そこで全ての項目に入力して「登録」としたのに消費税だけが0で登録されていたという感じです。

    クライアントからのリクエスト送信中にフリーズした場合、このようにいくつかの項目の値がASP側へ渡らないということはありえるのでしょうか?


親記事 /過去ログ90より / 関連記事表示
削除チェック/

■54047  Re[1]: ASP呼び出し中にPCがフリーズ
□投稿者/ 魔界の仮面弁士 -(2010/10/04(Mon) 10:38:38)
    # 回答に非ず

    No54043 (らん さん) に返信
    > 分類:[ASP.NET (VB)] 
    > ASPの問題ではないかもしれませんが、開発はASPで行っていますので
    ASP と ASP.NET を混同しておられませんか? これらは別物です。

    ASP.NET の場合には、現在の分類[ASP.NET (VB)]で正しいのですが、
    ASP であるならば、[レガシ ASP]という分類を選択してください。


    > WinXP SP3,VB.NET2005
    > DB:SQLServer2003
    SQL Server 2003 という製品はありません。
    Windows Server と、SQL Server を混同しておられませんか?
    (もしかして、Small Business Server 2003 をお使いでしょうか)

    おそらくは、2000/2005/2008 R2 のいずれかを利用されて
    いるのだと思います(それ以前のバージョンだと 7.0 とか)。


    > 押下後にフリーズしたようです。
    SQL Server 側がロック状態に陥ったのか、それとも、
    Web Server が応答無し(または長時間処理)になったのか、あるいは
    ブラウザー側がフリーズ状態になったのかの切り分けができていないので
    これだけの情報では判断は難しいと思います。


    > その後DBを確認したところ、テーブルにデータが新規登録されていたのですが
    > テーブルデータの内容に抜けがありました。
    トランザクション処理は、どのように行われていますか?
    ASP.NET なら、ADO.NET の SqlTransaction ないしは TransactionScope クラス、
    ASP なら、ADODB の BeginTransaction / CommitTransaction メソッドです。

    自動コミット モードに任せていた場合、更新エラー等が発生した場合には、
    エラーの直前までの更新処理はデータベースに範囲されるものの、
    エラー発生個所以降の処理はごっそり抜けおちることになりますので、
    中途半端に更新されてしまう可能性があります。
    例外処理の作りこみ方にもよりますけど。
    http://msdn.microsoft.com/ja-jp/library/ms187878.aspx


    > そこで全ての項目に入力して「登録」としたのに消費税だけが0で登録されていたという感じです。
    処理漏れ(If 条件抜け)というかコーディングミスのような予感もしますが、
    正直なところ、状況を聞いただけでは現象を推測するには足りなさそうです。

    単一の処理だけではなく、並行で実行されていた別の処理が原因で
    フリーズ等の動作が起きることとも無いとは言えませんので、さしあたり、
    消費税項目を更新または登録している処理、すべてを見直してみては如何でしょう。
記事No.54043 のレス /過去ログ90より / 関連記事表示
削除チェック/

■54058  Re[2]: ASP呼び出し中にPCがフリーズ
□投稿者/ らん -(2010/10/04(Mon) 11:57:08)
    No54047 (魔界の仮面弁士 さん) に返信

    いろいろと投稿文に問題があったようで、ご指摘いただいてありがとうございます。

    > ASP.NET の場合には、現在の分類[ASP.NET (VB)]で正しいのですが、
    > ASP であるならば、[レガシ ASP]という分類を選択してください。

    ASP.NETで間違いありません。

    > おそらくは、2000/2005/2008 R2 のいずれかを利用されて
    > いるのだと思います(それ以前のバージョンだと 7.0 とか)。

    2003ではありません。2005の間違いです。
    すみません。

    > SQL Server 側がロック状態に陥ったのか、それとも、
    > Web Server が応答無し(または長時間処理)になったのか、あるいは
    > ブラウザー側がフリーズ状態になったのかの切り分けができていないので
    > これだけの情報では判断は難しいと思います。

    そうですか。情報が少なすぎますね。
    おっしゃる通りです。

    > トランザクション処理は、どのように行われていますか?
    > ASP.NET なら、ADO.NET の SqlTransaction ないしは TransactionScope クラス、
    > ASP なら、ADODB の BeginTransaction / CommitTransaction メソッドです。

    SqlTransactionでトランザクションをかけています。

    > 処理漏れ(If 条件抜け)というかコーディングミスのような予感もしますが、
    > 正直なところ、状況を聞いただけでは現象を推測するには足りなさそうです。

    ご指摘いただいたようにまだ他に調査するべきところがありそうです。
    視点を変えて調べてみたいと思います。


    ご回答いただきありがとうございました。



記事No.54043 のレス /過去ログ90より / 関連記事表示
削除チェック/

■54061  Re[3]: ASP呼び出し中にPCがフリーズ
□投稿者/ マサヤ -(2010/10/04(Mon) 12:49:10)
    DB側の登録処理件数が膨大であるとかはないでしょうか?
    Insert文を見ないことにはなんともいえませんが。

    あと、SET LOCKなどは使用されていますでしょうか?

    さらに、DBに登録ではなく、CSVに出力、とした場合はうまくいくのでしょうか?
記事No.54043 のレス /過去ログ90より / 関連記事表示
削除チェック/



<< 0 >>

パスワード/

- Child Tree -