- PR -

asp.net(vb)  ACCESSでDB連携

1
投稿者投稿内容
ぽよよ
会議室デビュー日: 2003/09/30
投稿数: 3
お住まい・勤務地: 神奈川
投稿日時: 2003-10-01 18:17
asp.net勉強中です。
今、うりゅう様のショッピングサイト構築を参考に勉強しています。

第5回DB連携ページをASP.NETで構築する(後編)
まで、進んできたのですが、実行してみると以下のようなエラーがでます。
DB連携してないフレームは正常に表示されます。

ACCESSは2000形式で、OSはwin2000です。
指摘されているフォルダを確認しても、mdbファイルはちゃんと存在しており、
ldbファイルが無いです。
まだまだ、asp.net初心者の私は他にどういった事を確認、チェックすればいいのか
わかりません。
答えでなくてもいいので、何か参考になるレスを頂けないでしょうか。

*****************以下、表示されたエラー***********************
'/PRONET' アプリケーションでサーバー エラーが発生しました。
--------------------------------------------------------------------------------

ファイル 'C:\Inetpub\wwwroot\PRONET\vsdemo.mdb' を開くことができませんでした。ほかのユーザーが排他的に開いているか、データを読み取る権限がありません。
説明 : 現在の Web 要求を実行中に、ハンドルされていない例外が発生しました。エラーに関する詳細および例外の発生場所については、スタック トレースを参照してください。

例外の詳細: System.Data.OleDb.OleDbException: ファイル 'C:\Inetpub\wwwroot\PRONET\vsdemo.mdb' を開くことができませんでした。ほかのユーザーが排他的に開いているか、データを読み取る権限がありません。

ソース エラー:


行 344:
行 345: Public Sub FDNI(ByVal DSET As NISET)
行 346: NIADP.Fill(DSET)
行 347: End Sub
行 348:


ソース ファイル : c:\inetpub\wwwroot\PRONET\core.vb 行 : 346

スタック トレース:


[OleDbException (0x80004005): ファイル 'C:\Inetpub\wwwroot\PRONET\vsdemo.mdb' を開くことができませんでした。ほかのユーザーが排他的に開いているか、データを読み取る権限がありません。]
System.Data.OleDb.OleDbConnection.ProcessResults(Int32 hr)
System.Data.OleDb.OleDbConnection.InitializeProvider()
System.Data.OleDb.OleDbConnection.Open()
System.Data.Common.DbDataAdapter.QuietOpen(IDbConnection connection, ConnectionState& originalState)
System.Data.Common.DbDataAdapter.FillFromCommand(Object data, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior)
System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior)
System.Data.Common.DbDataAdapter.Fill(DataSet dataSet)
PRONET.DATACON.FDNI(NISET DSET) in c:\inetpub\wwwroot\PRONET\core.vb:346
PRONET.INFOV.NEWIIN(Label NL) in c:\inetpub\wwwroot\PRONET\core.vb:242
PRONET.MAIN.Page_Load(Object sender, EventArgs e) in c:\inetpub\wwwroot\PRONET\MAIN.aspx.vb:45
System.Web.UI.Control.OnLoad(EventArgs e)
System.Web.UI.Control.LoadRecursive()
System.Web.UI.Page.ProcessRequestMain()


ぴで
大ベテラン
会議室デビュー日: 2002/10/10
投稿数: 123
お住まい・勤務地: 東京
投稿日時: 2003-10-02 00:36
ページの右上に[検索]リンクがあるので、そこから検索ページへ行って既出の問題でないか確認するようにしてください。
とりあえず同じエラーに対する回答はこれかと思います。
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=1772&forum=7

今は勉強中とのことですが、実際にアプリケーションを構築するときは、
ACCESSには経験されたような細かい問題もありますし、
何より複数ユーザでの使用には耐えませんので、他のデータベース(最低限MSDE)を
使うことをお勧めします。(とMSが言っている。)
ぽよよ
会議室デビュー日: 2003/09/30
投稿数: 3
お住まい・勤務地: 神奈川
投稿日時: 2003-10-03 17:10
ひでさん、ご返事ありがとうございます。
私も、この投稿をした後で、同じ問題があるのに気づきました。


-----------------引用---------------------------
サーバエクスプローラからデザイナに Access のテーブルを Drag&Drop してコードを生成していたのですが、この際、自動生成されるコードのなかに System.Data.OleDB が含まれていないのが悪かったようです。ファイルの先頭に using で System.Data.OleDB を追加したところ出なくなりました。
-----------------引用---------------------------

そこに、上記引用のように書かれていたのを参考に自分のコードを確認したのですが、
System.Data.OleDB はちゃんと含まれていました。
引用元の投稿日は2002年8月で、VS.net2002を使われていると
思うのですが、私はVS.net2003を使っており、その違いに何か関係あるのでようか?



Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2003-10-03 18:33
引用:

ぽよよさんの書き込み (2003-10-03 17:10) より:

そこに、上記引用のように書かれていたのを参考に自分のコードを確認したのですが、
System.Data.OleDB はちゃんと含まれていました。
引用元の投稿日は2002年8月で、VS.net2002を使われていると
思うのですが、私はVS.net2003を使っており、その違いに何か関係あるのでようか?



こっちでは?
引用:

WEIWEIさんの書き込み (2002-08-02 03:20) より:

特に変更していなければ IUSR_コンピュータ名 ですので、このアカウントを許可するように.mdbファイルのアクセス権を変更すれば解決すると思います。
あと、.mdbファイルの親ディレクトリも同様にアクセス権の設定が必要です。


引用:

小野@EACさんの書き込み (2002-08-02 08:58) より:

ASPとは異なり、ASP.NETの場合、匿名ユーザのアカウントはASPNETという
ユーザになるはずです。
このユーザの権利はだいぶ制限されたもののようですので、特にサーバ上の
リソースにアクセスするようなものは気をつける必要があるでしょうね。

Access
ぬし
会議室デビュー日: 2002/04/08
投稿数: 829
投稿日時: 2003-10-05 08:00
引用:

今は勉強中とのことですが、実際にアプリケーションを構築するときは、
ACCESSには経験されたような細かい問題もありますし、
何より複数ユーザでの使用には耐えませんので、他のデータベース(最低限MSDE)を
使うことをお勧めします。(とMSが言っている。)



MSは、WebのデータベースエンジンにAccessを使用することは推奨していませんが
Accessを使用したいというニーズはかなりあるようです。

最近、ASP.NETチームが無償で公開しているASP.NET Web MatrixでもAccessが
正式にサポートされました。それから、マイクロソフトプレスから「Visual Basic .NET for Access Databases」のような書籍が出版されています。
ニーズがあれば、MSの対応も変わるようです。
1

スキルアップ/キャリアアップ(JOB@IT)