- - PR -
asp.net(vb) ACCESSでDB連携
1
| 投稿者 | 投稿内容 | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 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() | ||||||||||||
|
投稿日時: 2003-10-02 00:36
ページの右上に[検索]リンクがあるので、そこから検索ページへ行って既出の問題でないか確認するようにしてください。
とりあえず同じエラーに対する回答はこれかと思います。 http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=1772&forum=7 今は勉強中とのことですが、実際にアプリケーションを構築するときは、 ACCESSには経験されたような細かい問題もありますし、 何より複数ユーザでの使用には耐えませんので、他のデータベース(最低限MSDE)を 使うことをお勧めします。(とMSが言っている。) | ||||||||||||
|
投稿日時: 2003-10-03 17:10
ひでさん、ご返事ありがとうございます。
私も、この投稿をした後で、同じ問題があるのに気づきました。 -----------------引用--------------------------- サーバエクスプローラからデザイナに Access のテーブルを Drag&Drop してコードを生成していたのですが、この際、自動生成されるコードのなかに System.Data.OleDB が含まれていないのが悪かったようです。ファイルの先頭に using で System.Data.OleDB を追加したところ出なくなりました。 -----------------引用--------------------------- そこに、上記引用のように書かれていたのを参考に自分のコードを確認したのですが、 System.Data.OleDB はちゃんと含まれていました。 引用元の投稿日は2002年8月で、VS.net2002を使われていると 思うのですが、私はVS.net2003を使っており、その違いに何か関係あるのでようか? | ||||||||||||
|
投稿日時: 2003-10-03 18:33
こっちでは?
| ||||||||||||
|
投稿日時: 2003-10-05 08:00
MSは、WebのデータベースエンジンにAccessを使用することは推奨していませんが Accessを使用したいというニーズはかなりあるようです。 最近、ASP.NETチームが無償で公開しているASP.NET Web MatrixでもAccessが 正式にサポートされました。それから、マイクロソフトプレスから「Visual Basic .NET for Access Databases」のような書籍が出版されています。 ニーズがあれば、MSの対応も変わるようです。 | ||||||||||||
1
