• 締切済み

ASP+Access(Jet4.0)のユーザー数について

ASPとIISとAccessを使ってアプリケーションを作ろうとしています。 調べてみると、Jet4.0では最大ユーザー数が255と書いてありました。 また、別の情報では同時ユーザー数が5以上だとパフォーマンスが落ちるとも書いてあります。 この2つの意味がよく分かりません。とにかく同時に255人以上がアクセスするとデータベースが破壊される恐れがあるということなんでしょうか? また、「ユーザー数」とはロックで待たされているユーザーも含めた数でしょうか? それか同時にOpenされたConnectionオブジェクトの数とか…?? 上記の件は、Application.Lockなどで排他処理をして回避したらいいんでしょうか? SQL Serverにすれば考えなくてもいい問題なのかもしれませんが、事情により今のところデータベースはAccessしか無理です。 例えば同時ユーザー数を5に制限したアプリケーションにしたい場合、具体的にはどういうふうにすればいいのかご教示ください。 ASPやデータベースのことがあまり分かっていないため、用語や表現が間違っていましたらすみません。よろしくお願いします。

  • wFw
  • お礼率10% (3/29)

みんなの回答

  • shina11
  • ベストアンサー率0% (0/3)
回答No.1

AccessをJetでなくODBCで接続可能であればより早いと思います。 ユーザー数5とありますが瞬間的の問題ですので5アクセス同時は 難しいと思います。 ODBCで作っておけばAccessであっても考慮して作れば ほぼ変更無しでSQLserverに移行できます。 ちなみに私は壊れたことはありません。 Access単体で壊れることはありますが。

wFw
質問者

補足

今のところODBCは考えていないです。SQL Serverへの移行の予定もないです。 JetよりODBCの方がスピードは落ちるのではないのでしょうか? http://oshiete1.goo.ne.jp/kotaeru.php3?q=1974498 とにかく同時ユーザー数を任意の数に制限するには、どういうコーディングにすればいいか分からなくて困っています。 (というか、まず「同時ユーザー数」というのが何のことなのかがよく分からない状態です…)

関連するQ&A

  • データベースに書き込むときの排他処理

    ASP3.0 IIS5.0 ASP初心者です。初心者の素朴な疑問なんですが、 ASPで、例えばWebページから入力された情報を、 Accessなどのデータベースに書き込むとき、 排他処理って必要ですよね? 一般的にどうやるのでしょうか? Application変数を使うのでしょうか? データベース自体に排他制御する機能があるのですか? よろしくお願いします。

  • LAN上のMDBをIIS(ASP)から開く

    DMZであるWEBサーバー(IIS4.0)からLAN上のMDBファイルを操作したいのですが・・・。うまくいきません。 ネットワークドライブでWEBサーバー側に登録して ADODB.Connectionで直接、またはODBC介してでやろうとしましたが駄目でした。 IIS側でODBCの登録自体はうまくいっているのか(?)MDBの最適化はODBCの画面から行えます。 IIS越しでASPからデータベースを開こうとすると [Microsoft][ODBC Microsoft Access Driver] ファイル '(不明)' を開くことができませんでした。ほかのユーザーが排他的に開いているか、データを読み取る権限がありません。 権限の問題なのでしょうか? LAN側のファイルもフォルダもeveryoneフルコントロールに してあります。(怖いけど(笑)) 同様のケースで過去に解決された方、または良い案がある方。ご教授下さい。

  • ASP AccessDBオープン出来ない

    お世話になります。 サーバー:WindowsServer2003 R2 SE DB:Access2003 WindowsServer2003にASPを配置し、同じくWindowsServer2003にAccess2003を配置し、 ASPからAccessをオープンする時にエラーが出ます。 ODBC設定パターンと、Jetパターン両方等ダメです。 IISはもちろん設定しており、権限も問題無いと思われ、MicrosoftサポートでもTEMPのアクセス権限どうのこうのとありましたが、問題なさそうです。 サイトを探しまくって、分からない為、ご質問させて頂きまた。 有識者の方々、ご享受宜しくお願い申し上げます。 【ソース1】 Set gCon = Server.CreateObject("ADODB.Connection") gCon.Open "TEST" ※TESTはODBC名です。Accessを指定しております。Accessにはパスワードも何もありません。 【Webページ結果】 Microsoft OLE DB Provider for ODBC Drivers エラー '80004005' [Microsoft][ODBC Microsoft Access Driver] ファイル '(不明)' を開くことができませんでした。ほかのユーザーが排他的に開いているか、データを読み取る権限がありません。 【ソース2】 Set adoCon = Server.CreateObject("ADODB.Connection") adoCon.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath("TEST.mdb") adoCon.Open ※パスはあってます。 【Webページ結果】 Microsoft JET Database Engine エラー '80004005' エラーを特定できません -------- ローカルでASP、Accessを実行すると、問題なくオープン出来ます。 WindowsServer2003が問題なのでしょうか?

  • ASP.NETのパフォーマンスと接続クライアント数

    ASP.NETで、アプリケーションを作成しています。 主にイントラネットで使用する予定です。 環境は、以下のとおりです。 サーバー:Windows Server 2008 R2, IIS 7.5 データベース:SQL Server 2008 R2 開発環境:VS2010 C#, .NET Framework 4 5人程度で開発をしています。 aspxファイルの数は、50~60です。 上司からは、50クライアントくらいが同時に接続しても パフォーマンスが落ちないようにしろと言われていますが、 今回が初めてのWebアプリの開発で、クライアント数がどの程度 影響をおよぼすのか想像がつきません。 データベースは、メインで使用するテーブルのレコード数が 最大50万件(10年分)くらいになると想定しています。 普通のASP.NET作り方で、上記のような使用条件の場合、 パフォーマンスへの影響はどの程度あるのでしょうか。 (例えば、接続ユーザー数が5人→50人になると応答時間も10倍になるとか、・・・) それとも、ASP.NET MVCへの移行を検討したほうが良いのでしょうか。 (正直言いまして、ASP.NETは少し敷居が高いので、できればASP.NETで進めたいです。) 経験がおありの方、アドバイスをいただければ幸いです。 よろしくお願いいたします。

  • [ASP]Accessファイルへの接続でエラー

    VPSサーバでASPを動かしたいのですが、エラーが出てしまい、困っています。 ・Windows サーバ 2008 R2 ・IIS7.0 エラー詳細は ・ADODB.Connection エラー '800a0e7a' プロバイダーが見つかりません。正しくインストールされてい ない可能性があります と出てきます。 ネットで調べて、このプロバイダというものをインストールし、コンパネからODBCに設定してやれば上手くいく、という答えにたどり着いたのですが、64bitと32bitの混在、Accessのバージョンでスクリプトが違うとか、様々なケースで対策が違うようで、分からなくなってしまいました。 また、Windowsサーバには、最初からこのプロバイダというものがインストールされている、と書いてある記事を見つけたり、それならどうしてエラーが出てしまうのか、途方に暮れています。 更にややこしい事に、このASPは海外の方が作ったショッピングサイトらしく、社内で誰もパソコンに詳しくないので私に回ってきたのです。 私のスペックは、簡単なWebサイトが作れる程度です。 サーバやらIISやら、必死になって設定するような素人です。 その為、取り敢えず自分のWindows7でIIS7.0を立ち上げ、簡単なAccessファイルに接続するASPを作りテストしていますが、やはり同じエラーが出てしまいます。 テストで作成したコードはこんなものです。 Dim test Set test = Server.CreateObject("ADODB.Connection") test.Provider = "Microsoft.ACE.OLEDB.12.0" test.ConnectionString = "フルパス~.mdb" test.Open Accessファイルのバージョンは、恐らく2003、もしくは2007です。 一体どのプロバイダをインストールすれば良いのか、インストールした後はどうすれば良いのか、どうか御指南頂けますよう、よろしくお願い致します。

  • ASPからACCESSのOPENどうしても出来ません

    みなさんこんにちわ。 ASPを使用してweb上でローカルのACCESSデータベースを参照したいのですが、 エラーが出て、ページを開くことが出来ません。 動作環境は WINDOWS2000SP2 OFFICE2000SP2 MDAC2.5SP2 JET4.0 SP3 ODBCドライバのバージョン(Microsoft Access Driver) 4.00.6019.00 サンプルを参考に作成しました。DBをOPENするところのコードは openStr = "driver={Microsoft Access Driver (*.mdb)};" & _ "dbq=" & Server.MapPath("critters.mdb") Set cn = Server.CreateObject("ADODB.Connection") cn.Open openStr と書きました。 しかし、IISよりこのASPファイルを参照すると以下のエラーが出ます。 HTTP 500.100 - 内部サーバー エラー - ASP エラー インターネット インフォメーション サービス エラー タイプ Microsoft OLE DB Provider for ODBC Drivers (0x80004005) [Microsoft][ODBC Microsoft Access Driver]一般エラー レジ ストリ キー 'Temporary (volatile) Jet DSN for process 0x518 Thread 0x5ec DBC 0x2710064 Jet' を開くことができません。 どうもOPENするところで発生しているようなのです。 なにか、バージョンが古いのでしょうか。 NET8 ASSISTANTの環境は関係あるのでしょうか。 原因と思われるところがありましたら、どうか教えていただけないでしょうか。

  • IIS+ASPでデータベースの表示方法

    IIS+ASP+ACCESSでデータベースの内容を一覧で表示しようと思っています。 表示方法として一度データベースの一覧を配列に格納してから表示する方法か、データベースを読み込みながら表示するかどちらの方がIIS,データベースエンジンの負荷を押さえることが出来るのでしょうか? アクセスが集中したときのことを考えるとどちらにしようか迷っています。 どうぞご教授ください。

  • ASPアプリケーションが動かなくなります

    社内のイントラネットWebでASPアプリケーションが動いています。 そのASPが原因と考えられるトラブルが不定期に発生します。  具体的なトラブルの内容は、ASPアプリケーションによるページの表示が出力されなくなるというもので、発生したときはIISを再起動して対応しております。 ( 通常のHTMLページは正常に表示できています ) トラブルが発生するタイミングはデータベースに新しいレコードが追加されて、その追加されたレコードのデータを複数と考えられる人が参照した時のようですが、確証がえられていません。 トラブルの原因としてプログラムソース中のデータベースのオープン・クローズやレコードセットのオープン・クローズなどの抜けを考え一通りチェックして修正したつもりになっていましたが、トラブルは相変わらず発生して頭を抱えている現状です。 ASPアプリケーション(の構築)でトラブルの原因に関するヒント・考えられる動作・チェックするべき点などなんでも結構ですのでお手数ですが教えてください。 なお、同一のサーバーでは複数のASPアプリケーションが存在します。 ○ 環境 Webサーバ:Windows2003 Server データベース:Microsoft Access

  • ASPとAccessとの接続について

    ASPとアクセスとの接続方法についてなのですが、 アクセスのテーブルはSQLのテーブルとリンクさせる、 という形をとっています。 アクセスデータが他のデータベースとリンクしてない場合には ASPとの連結はうまくいくのですが 上記の場合の連結方法が分かりません。 どうしたら良いのでしょうか? ちなみに環境は Windows2000,SQL7.0,IIS5,Access2000です。 どうぞよろしくお願いします。

  • スケジュール管理ソフトをIIS/ASP/Accessで作る

    100人程度の人が使用するスケジュール管理ソフトをIIS/ASP/Accessで作ろうとしています。 mdbファイルを1つにするとファイルサイズが大きくなりそうなので、 ユーザーごとにスケジュールが入ったファイルを作るようにしたのですが、 表示させるユーザーの数だけdb.openとdb.closeを繰り返すせいか、 スケジュール一覧を表示させるのに5秒以上かかってしまいます。 ASPでなんとか1秒以内に表示したいのですが、よいやり方があれば教えてください。

専門家に質問してみよう