• 締切済み
  • 困ってます

aspのファイルからAccessを参照させるとエラーが出たり出なかったり

WinXP Proに IISを使って ASPのファイルから ACCESSのDBを表示させたいのですが、 ******************************** Microsoft OLE DB Provider for ODBC Drivers (0x80004005) [Microsoft][ODBC Microsoft Access Driver] ファイル '(不明)' を開くことができませんでした。ほかのユーザーが排他的に開いているか、データを読み取る権限がありません。 ******************************** と言うエラーメッセージが出てしまいます。 昨日までは普通に表示していたのです。 ソース ******************************* <% Dim Rs Set Rs=Server.CreateObject("ADODB.Recordset") Rs.open"SELECT * FROM TABLES ", "DSN=yihua" Response.Write Rs("NAME") Rs.close set Rs=Nothing %> ******************************* です。 更にこの見えていたファイルをコピーしてリネームして別の名前でaspファイルとして保存しても 同じエラーメッセージがでてしまいます。 何が原因なのでしょうか? 見えたり見えなかったりするのが、理解できなく 苦しんでいます。 ASP勉強中でかなり初心者です。 よろしくお願いします。

共感・応援の気持ちを伝えよう!

みんなの回答

  • 回答No.1

下記のサイトが参考になるかもしれません。 http://www.asahi-net.or.jp/~ym3y-oksm/nt/asp/asp05.htm

参考URL:
http://www.asahi-net.or.jp/~ym3y-oksm/nt/asp/asp05.htm

共感・感謝の気持ちを伝えよう!

質問者からのお礼

どうもありがとございます。 今回の症状は見えているものがコピーすると見えなくなるので、このページのエラー解決では無理そうなんです。

関連するQ&A

  • mdbを直接開いてもasp側に影響を与えない方法について

    お世話になります。当方、Windows Server 2003 R2 SP1 で IIS6.0 を使用しています。 サーバ側に設置しているmdbファイルをODBCでシステムDSNに登録し、ASPから 接続しております。 メンテナンスなどで直接mdbファイルを開いている時に、ASPのページに アクセスすると以下のエラーメッセージが出て正常表示が出来なくなります。 ======================================================== HTTP 500.100 - 内部サーバー エラー - ASP エラー インターネット インフォメーション サービス -------------------------------------------------------- エラー タイプ Microsoft OLE DB Provider for ODBC Drivers (0x80004005) [Microsoft][ODBC Microsoft Access Driver] '(不明)' は既に使用されているので、使用できませんでした。 ======================================================== mdbファイルを直接開いても、ASP側でもエラー表示されないように するにはどうしたらよいでしょうか? ソースは以下のようにしております。 Set cnn=Server.CreateObject("ADODB.Connection") cnn.open "dummy" cnn.close cnn.open "testdb"  '// ODBCをtestdbにしています。 SQL = "SELECT * FROM M_USER ORDER BY USERID" Set rs1 = cnn.Execute(SQL) よろしくお願いいたします。

  • 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の環境は関係あるのでしょうか。 原因と思われるところがありましたら、どうか教えていただけないでしょうか。

  • ASPで,mdbファイルへのinsert文のエラー

    ASPで,guestbook.mdbファイルへ接続,はOK, そしてinsert文で新規レコードを追加しようとすると エラーが出てしまいます。 select文は使えるのですが。 エラーの内容は, エラー タイプ Microsoft OLE DB Provider for ODBC Drivers (0x80004005) [Microsoft][ODBC Microsoft Access Driver] 更新可能なクエリであることが必要です。 /asp_server/toda/guestbook.asp, line 24 です。 dbへの接続方法は, '***** データベース(guestbook.mdb)に接続 ***** Set ObjConn = Server.CreateObject("ADODB.Connection") ObjConn.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & _ Server.Mappath("guestbook.mdb") です。 問題は, '***** 名前とメッセージが空白でないときはデータ追加SQLを実行 ***** StrSQL = "insert into T_Message (name, word, entrydate) " & _ "values ('" & name & "','" & word & "',#" & entrydate & "#)" ObjConn.Execute(StrSQL) ここの,ObjConn.Execute(StrSQL)でエラーが起こります。 なぜエラーが出るのでしょうか。原因と対処方法をおしえていただけませんでしょうか? 「更新可能なクエリであることが必要です。」というエラーなので何かの設定の問題でしょうか?

  • SQL文が実行できません

    単純なSQLの実行命令なのですが、 下記のエラーメッセージが出て実行できません。 解消方法をご存知の方がいらっしゃいましたら、 教えてください。よろしくお願いします。 エラーメッセージ: Microsoft OLE DB Provider for ODBC Drivers (0x80040E10) [Microsoft][ODBC Microsoft Access Driver] パラメータが少なすぎます。1 を指定してください。 /x_db/1.asp, line 12 (Set RS = db.Execute(SQL)のラインがエラーです) ソースです。 <% Set db = Server.CreateObject"ADODB.Connection") db.Open "x_db" SQL = "select * from x_db where w_xpc ='" & Request.Form("F01") &"'" Set RS = db.Execute(SQL) Response.Write(RS.Fields("氏名")) RS.close set RS = nothing db.close set db = nothing %> 環境:WIN200server IIS5.0 access97

  • 削除の時エラーがでます

    こんにちは アクセスのデーター1件削除を作っているのですが、どうしてもエラーが出てしまいます。どなたかご教授下さい。 NTサーバーのシステムDSNにデーターベースの登録はしていて他の画面では参照や追加は出来ています。 <% adrs=session("adrs") '========================================================= '1件削除(e-mail.mdb の mail1 テーブル) '========================================================= Dim SQL,RS Set RS = Server.CreateObject("ADODB.Connection") RS.open "e-mail" RS.Execute ("DELETE FROM mail1 WHERE email="& adrs &"") %> エラーの内容 Microsoft OLE DB Provider for ODBC Drivers エラー '80040e14' [Microsoft][ODBC Microsoft Access Driver] クエリ式 'email=hogemail@hoge.co.jp' の 構文エラー : 演算子がありません。 よろしくお願いします。

  • Access98で作ったmdbをAccess2000で変換したらエラー発生

    こちらのFREEの掲示板を使いながらASPを勉強しているところですが、 Access98で作ったmdbをAccess2000のデータベースユーティリティで 変換したところ、下記のようにODBC Drivers エラーが発生しました。 Access2000で作成したmdbを使用する場合にはODBC Driverもバージョン アップしなければならないのでしょうか?対処方法についてもご指導 をお願いしたいと思っています。 Microsoft OLE DB Provider for ODBC Drivers エラー '80004005' [Microsoft][ODBC Microsoft Access Driver]一般エラー レジストリ キー 'Temporary (volatile) Jet DSN for process 0x5b8 Thread 0x66c DBC 0x2091ba4 Jet' を開くことができません。

  • IIS7でIIS6で動いていたASPアプリを動かしたい

    初めまして、santa51と申します 表題の通り、IIS7でASPアプリを動かしたいのですが、 動きません。 xpのIIS6では動いていました エラーの内容は Microsoft OLE DB Provider for ODBC Drivers エラー '80004005' [Microsoft][ODBC Microsoft Access Driver] ディスクまたはネットワークのエラーです。 /????/?????/login.asp, 行 109 となります 109行は 107 DBName="Driver={Microsoft Access Driver (*.mdb)};DBQ=" & Server.Mappath("../cgi-bin/mydb/" & campany & "/master.mdb") 108 Set db=Server.CreateObject("ADODB.Connection") 109 db.Open DBName です。 確認がとれていることは 1.Server.Mappath("../cgi-bin/mydb/" & campany & "/master.mdb")は確実にあっています。 環境は vista business IIS7 access2003 です。 以上、よろしくお願いします santa51

  • 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でAccess接続 ODBCの設定について

    こんにちは。 以前も、ASPでAccessファイルへの接続について、こちらでお世話になりました。 別サーバで作ったショッピングシステムのサーバ移行をしています。 これは別の人が作ったシステムで、社内には誰もわかる人がいません。 (私が簡単なサイトが作れるので、話が回ってきた感じです) ASPで作られているのですが、91個のASPファイルから同一Accessファイルへ接続している作りになっていることが今日分かりました。 コードに直接フルパスを記入するやり方ではなく、ODBCデータソースにファイルを選択してやり、DSN名で呼び出すやり方でコードが書いてあったので、調べてODBCデータソースにDBを選択しました。 しかし、確認するとエラーになり、どうも以前使っていたサーバへ接続しているような感じです。 コードは Set cnn2=Server.CreateObject("ADODB.Connection") cnn2.open DSN名 ODBCデータソースへの設定は、ユーザDSNとシステムDSNに MS Access Driver(mdb)を追加し、追加する際にデータベース部分に接続したいAccessファイルを選択しています。 その時のDSN名を、コードに記載されている名前と同じDSN名にしました。 試しにDSN名ではなくフルパスでAccessファイルに接続したら、問題なく表示されました。 この現象は、以前使っていたサーバのODBCに設定が残っている為、以前のサーバを見にいってしまっているのでしょうか? それとも、単純に私の設定が間違っているのでしょうか? 知識不足で分かりにくい表現ばかりだと思いますが、どうぞよろしくお願い致します。

  • 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 が登録できましたので、データベース自体に他からの実行の場合、更新出来ないような 設定になっていると思うのですが、対処方法がわかりません。 どうすればよいか教えて頂けないでしょうか?