こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

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)でエラーが起こります。
なぜエラーが出るのでしょうか。原因と対処方法をおしえていただけませんでしょうか?

「更新可能なクエリであることが必要です。」というエラーなので何かの設定の問題でしょうか?

投稿日時 - 2003-06-07 22:35:32

QNo.568813

困ってます

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

フォルダへの書き込み権限がないんじゃないですか?
InsertするってことはMDBファイルを更新するってことです。

投稿日時 - 2003-06-07 23:32:10

補足

ありがとうございます。
そうなんです。インターネット サービス マネージャで該当フォルダの「読み取り」「書き込み」もOKにしてありますし,「guestbook.mdb」のほうも「書き込み可」にしてあるのですが。なにかほかの設定があるのでしょうか?OSはWin2000Professionalです。

投稿日時 - 2003-06-08 10:29:24

お礼

ありがとうございました。

投稿日時 - 2003-06-30 16:02:22

このQ&Aは役に立ちましたか?

3人が「このQ&Aが役に立った」と投票しています

回答(5)

ANo.5

皆さんの言うとおり、権限かな?とも思います。

あと単純にSQLが間違ってたりして・・・?(私はよく間違います(^^;)
一度、strSQLをページ上に吐き出してみて、そのSQLをコピーして、guestbook.mdbで新しくクエリを作って貼り付けて実行してみてはどうでしょう。
SQLが間違っていればguestbook.mdbでもエラーになりますよね(^^)

ではがんばってください

投稿日時 - 2003-06-10 13:51:10

お礼

みなさんありがとうございました。
エクスプローラ中の.mdbファイルを右クリックし、
プロパティのセキュリティを「許可」にすることによって
できました。

投稿日時 - 2003-06-30 16:05:45

ASP-mdb開発者です~
毎日大苦戦しています^^;


【更新可能なクエリであることが必要です。】


考えられる原因は3つですね。

1.SQL文が間違ってる
Accessのクエリで確認してみて下さい~

2.INSERT文でvaluesで入れてる値が空の値
空の値をINSERTすると、このエラーが発生する可能性があります。

3.サーバの設定でIUSR_****の権限の問題
まず、ファイルに読み取りと書き込み権限が必要です。
さらに、フォルダには読み取り・書き込み・削除権限が必要です。
なぜなら、Accessはldbファイルを作成しますので、ldbファイルを削除する権限が必要なのです^^;
もしうまくいかなかったら、「フルコントロール」にするのも手ですが、、、


最後にアドバイスですが、wwwからは見えない場所にmdbファイルは置いて下さい^^;
では~

投稿日時 - 2003-06-10 13:46:42

ANo.3

WebUserの権限が不足してるとか?
・・・関係ないかな?自信なしです。

投稿日時 - 2003-06-09 20:25:00

> インターネット サービス マネージャで該当フォルダの「読み取り」「書き込み」もOKにしてありますし,「guestbook.mdb」のほうも「書き込み可」にしてあるのですが。なにかほかの設定があるのでしょうか?OSはWin2000Professionalです。

一応実際のディレクトリのプロパティでもアクセス権を確認してみてください。

投稿日時 - 2003-06-09 00:20:47

あなたにオススメの質問