• ベストアンサー

ASP.NET から Access (SQLServer)データベースに接続できない

表記問題ですが下のURLで報告されていますが、 http://support.microsoft.com/default.aspx?scid=kb;ja;316675 解決方法がいまいちわかりません。 1)Machine.config ファイルの <processModel> セクションで、ASP.NET ワーカー プロセスが SYSTEM アカウントで実行されるように構成します。 2)セキュリティ上の理由から、マイクロソフトでは ASP.NET アプリケーションに対して偽装を有効にすることを推奨します。偽装されるユーザーがコンピュータやアクセスするデータベースに対して必要なアクセス許可を持っていれば、この方法は正常に機能します。 3)データベースおよびデータベースのフォルダに対して、"Everyone" グループに読み取りと書き込みの権限を与えます。この方法は安全ではありません。このためマイクロソフトではこの方法を推奨していません。 DBMSはアクセスMDBもしくはSQLサーバです。OSはWinXPPro わかりやすく具体的に説明していただけませんか?

質問者が選んだベストアンサー

  • ベストアンサー
  • kokegon
  • ベストアンサー率78% (22/28)
回答No.1

ASP.NET が動作するときにはワーカープロセス(XP の場合 aspnet_wp.exe)がプログラムを実行します。 要するに aspnet_wp.exe が DB に対するアクセス権を持っていなければいけません。ですのでなんらかの対処が必要になります。XP ではデフォルトでは ASPNET というユーザのプロセスで aspnet_wp.exe が走っています。 ASPNET では DB のアクセス権がないので、 DB にアクセスできるユーザに変更してください。

lord_chan
質問者

補足

ありがとうございます。参考になりました。

その他の回答 (1)

  • todo36
  • ベストアンサー率58% (728/1234)
回答No.2

> DBMSはアクセスMDBもしくはSQLサーバです。 SQLサーバのスキルがあるのであれば、アクセスMDBではなくMSDE2000(SQL認証)を使うの がいいでしょう。アクセスMDBをASP.NETでの使用は推奨されていません。

lord_chan
質問者

補足

ありがとうございます。参考になりました。

関連するQ&A

  • ASPによる アクセス2000のデータベース更新について

    アクセス2000で作成したデータベースに ASPでデータベースを更新しようとしたのですが、エラーとなって更新できずにいます。 (アクセスデータベース内容) ID F1 F2 1 TEST1 TEST2 2 1 2 3 4 5 4 23 ※ID の 5  に 23 を登録したい。 (ASP内容) <% ' データベースへの接続を開始 Set cn = Server.CreateObject("ADODB.Connection") cn.Open "Driver={Microsoft Access Driver (*.mdb)}; " & _ "DBQ=" & Server.Mappath("TESTdb1.mdb") cn.Execute"INSERT INTO TTT(ID,F1) VALUES(5,23);" %> (エラー内容) エラー タイプ Microsoft OLE DB Provider for ODBC Drivers (0x80004005) [Microsoft][ODBC Microsoft Access Driver] 更新可能なクエリであることが必要です。 /SQL-TEST/ncsch1.asp, line 7 アクセスの追加クエリで、INSERT INTO TTT(ID,F1) VALUES(5,23); を 実行したら、問題無く 5 23 が登録できましたので、データベース自体に他からの実行の場合、更新出来ないような 設定になっていると思うのですが、対処方法がわかりません。 どうすればよいか教えて頂けないでしょうか?

  • データベースにアクセスできる?

    ASPは自分のローカルPCデータベースではなく、サーバー上にあるデータベースへアクセスしますよね?(・・・たぶん。) 今回、私がやりたいことは、HTMLから自分のローカルPCアクセスデータベース(MDB)にアクセスしてデータを取得したいのです。 それって、可能なのでしょうか? 可能なのであればやり方を教えてくださいm(__)m

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

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

  • アクセス、データベースのことで教えてください

    パソコン勉強して日が浅いですが、マイクロソフトのあるアクセスですが、データベースソフトとありますが、データベースってそもそもなんですか? アクセスソフトを使うのは仕事でもどんな時ですか?社会人としていりますか?勉強したことがないのでいろいろ教えてください。よろしくお願いします。

  • ASPでデータベース連携した時のアクセス制限は?

    お世話になります。以前はアクセスでデータベース接続していたのですが、件数の増加により、試験的にSQL Server 2005 Express に移行しました。マイクロソフトのサイトを参考にして、アクセスからアップサイジングして、無事に接続することが出来ました。ひとつ不明な点があるので教えてください。Webアプリケーションで、データベースに書き込みをしたり削除をしたりするので、mdbファイルの時は、置いてあるフォルダは匿名アクセス(IUSR_コンピュータ名)で認証し、フルコントロールOKに設定していました。(社内イントラネットのみで運用)SQL Server 2005 の場合は統Windows認証で接続しています。IISを経由してインターネットユーザーがパスワードなしでデータベースにアクセスできるようにするにはどのように設定したらよいのでしょうか?

  • データーベースとはなんですか?アクセス?

    良く分からないので教えてください。ここにあるインターネットサービスがあります。そのためにサーバーを買い なかにアクセスというソフトを入れる とのことです。これはマイクロソフトオフィスに入っているソフトのアクセスの事ですか?そんなので大丈夫なのですか? また、そのデーターベースはmySQLとかポスグレSQLというのがあるみたいです。この認識で正しいですか?

  • ネットワーク上のmdbファイルへのアクセスについて

    WINXP、VB2008でデータベースソフトを作成しています。 VB2008で作成したソフトからネットワーク上のデータベース(マイクロソフトACCESSのMDBファイル)にアクセスし、ソフトのデータグリッドビューに表示するのですが、毎回ネットワーク上のMDBファイルにアクセスしているため、データグリッドビューへの表示が遅れます。 こういった場合、どの様に作れば表示が遅れないようになるでしょうか?

  • 聖闘士星矢データベース

    何年か前にネット上でセイントセイヤの全キャラクターの情報が載っている、マイクロソフト社アクセスで開けるデータベースファイル(mdbファイル)を見つけたのですが、最近また気になって探しても見つかりません。 どなたかご存知ないでしょうか? 教えてください。

  • IUSR_MACHINEでMDBアクセスができない

    こんにちは、よろしくお願いいたします。 クラシックASPでシステムの作成を行っております。 DBはAccessの2003で、SP3があたっております。 IISは7で、Windows 2008 Server上に設置してあります。 先刻急に、SELECTでのデータ取得は可能なものの、 INSERTやDELETEによるデータ更新ができなくなりました。 (それまでは問題なくできていました。) 一応データ取得が可能であるので、権限の問題かと思いましたが、 MDBファイル自体に[IUSR_マシン名]のフルコントロール、 さらにMDBファイルを置いてあるディレクトリ自体にも [IUSR_マシン名]のフルコントロールを持たせたのですが、改善しません。 (ちなみに、MDBファイル上から直接クエリを実行した場合正常にデータ更新できます。) (また、Winプロセス上にACCESSのプロセスが残っていないことは確認済みです。) 試しに、MDBファイル自体に[Everyone]のフルコントロールを あててみたところ、データ更新ができるようになりました。 ということはMDBファイルにアクセスしている…ひいては WEBシステム利用時のユーザーが[IUSR_MACHINE]ではない ということになるのかと思いますが、実際に実行している ユーザー名を取得する方法が分かりません。 それが分かれば、そのユーザーに権限さえ与えてあげれば [Everyone]にフルコントロールを与えるという危険な行為は 避けれると思います。 上記のような状況なのですが、 [Everyone]へのフルコントロール以外で 改善する良い方法は無いものでしょうか? よろしくお願いいたします。

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

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

専門家に質問してみよう