• ベストアンサー

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

selenityの回答

  • selenity
  • ベストアンサー率41% (324/772)
回答No.8

ちゃんとつながりますよ。 まず、ODBC設定でシステムDSNを設定します。 このときにmdbファイルの場所も設定します。 [データベース]という枠に中に[選択]というボタンがあるはずなので、ここで、mdbファイルを設定する必要があります。 ODBC設定でファイルを指定しておくことがポイントです。 次に <% Set conn = Server.CreateObject("ADODB.Connection") conn.open "MYDSN" %> と書けばつながります。 ここの「MYDSN」はODBC設定で指定したデータソース名です。 下手にMapPath等を使わずにまず、初歩から始めましょう。 この辺の資料は読みましたか? http://www.microsoft.com/JAPAN/support/kb/articles/JP300/3/82.asp http://www.microsoft.com/JAPAN/support/kb/articles/J045/5/46.asp この辺の資料を見ていただければ分かりますが、 大抵はデータソース名で接続していることが多いです。 あれこれやるより、システムDSNを設定して接続したほうが楽だし確実なのです。 --- 手元の環境 Win2kSP2英語版,Office2kSP2 ODBCドライバ:Microsoft Access Driver[*.mdb] ODBCDrv Ver:4.00.6019.00

dorarin
質問者

お礼

本当にたくさんの回答をいただきありがとうございました。 どうやら、PC自体おかしくなってきていて、DLLがぐちゃぐちゃに なっている等の原因は内部的なものだったと思われます。 現在はOSの再インストール(T_T)し、順調にページの 表示ができています。 最初のサンプル通りに書いたら、全然普通に表示できました。 本当にお騒がせしました。ありがとうございます。 これからも今回のことにめげずがんばっていきます!!

関連するQ&A

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

  • 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

  • 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が動きません(IIS7、access2007の設定?)

    win2K,access2Kで作成したASPプログラムですが、そのままwinxp, access2003までは問題なく動いていました。 vista(ultimate),access2007ではエラー(HTTP500内部サーバエラー)となります。いろいろと調べましが、うまく動きません。 記述内容は以下のとおりです。 filename=Server.MapPath ("./") & "\data.mdb;" odbcConect="Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & filename Set db = Server.CreateObject("ADODB.Connection") db.Open odbcConect アドバイスをよろしくお願いいたします。

  • 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)でエラーが起こります。 なぜエラーが出るのでしょうか。原因と対処方法をおしえていただけませんでしょうか? 「更新可能なクエリであることが必要です。」というエラーなので何かの設定の問題でしょうか?

  • MDBパスワード設定済みDBへ接続

    MDBパスワード設定済み(排他オープンからの設定)のDBへ接続を試みているのですが、うまく 接続できません。 ご教授ください。 ASP vbscript <ソース> set objCon=ServerCreateObject("ADODB.Connection") cn1 = "Provider=Microsoft.Jet.OLEDB.4.0;" & _ "DataSource=" & Server.path("db.mdb") & ";Jet OLEDB:Database Password=password;" objCon.Open cn1 <エラー> Microsoft JET Database Engine エラー '80040e4d' パスワードが正しくありません。

  • WinXP→Server2003 にASPとDB(ACCESS)を移行

    WinXP→Server2003 にASPとDB(ACCESS)を移行、エラー '800a0ea9' WinXP 上にDB:ACCESS、ASPのWEBシステムを動かしていましたが、 WinServer2003 上に移行しました。 移行後、以下のエラーが出ました。 ---------------------------------------------------------- ADODB.Connection エラー '800a0ea9' プロバイダが指定されておらず、既定のプロバイダがありません。 /source/test.asp, 行 35 ---------------------------------------------------------- ODBCデータソースアドミニストレータ のシステムDSNを見たところ 確かにACCESSのドライバがありませんでした。 ネットで調べたところ (1)WinServer2003が64bitなので、32bitのACCESSのドライバは入っていない (2)以下32bit版の ODBCアドミニストレータを実行すると解決  →C:\WINDOWS\SysWOW64\odbcad32.exe  をクリックし、設定すれば32bitアプリケーションからODBCデータソースを利 用できる。 とあり、(2)を開くと確かに、MicrosoftAccessDriverがあり、こちらでWinXPのと きと同じようにODBC設定しました。 しかしこの段階でも ---------------------------------------------------------- ADODB.Connection エラー '800a0ea9' プロバイダが指定されておらず、既定のプロバイダがありません。 /source/test.asp, 行 35 ---------------------------------------------------------- がでてしまいます。 ちなみにこの行 35 には以下のソースがあります。 33 wsDSN="TEST" 34 Set gCon = Server.CreateObject("ADODB.Connection") 35 gCon.Open wsDSN 33 wsDSN="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\TEST\TEST.mdb" 34 Set gCon = Server.CreateObject("ADODB.Connection") 35 gCon.Open wsDSN としても同エラーでした。 ODBC接続がうまくいく方法アドバイスよろしくお願いします。

  • 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勉強中でかなり初心者です。 よろしくお願いします。