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)でエラーが起こります。
なぜエラーが出るのでしょうか。原因と対処方法をおしえていただけませんでしょうか?
「更新可能なクエリであることが必要です。」というエラーなので何かの設定の問題でしょうか?
No.5
- 回答日時:
皆さんの言うとおり、権限かな?とも思います。
あと単純にSQLが間違ってたりして・・・?(私はよく間違います(^^;)
一度、strSQLをページ上に吐き出してみて、そのSQLをコピーして、guestbook.mdbで新しくクエリを作って貼り付けて実行してみてはどうでしょう。
SQLが間違っていればguestbook.mdbでもエラーになりますよね(^^)
ではがんばってください
みなさんありがとうございました。
エクスプローラ中の.mdbファイルを右クリックし、
プロパティのセキュリティを「許可」にすることによって
できました。
No.4
- 回答日時:
ASP-mdb開発者です~
毎日大苦戦しています^^;
【更新可能なクエリであることが必要です。】
考えられる原因は3つですね。
1.SQL文が間違ってる
Accessのクエリで確認してみて下さい~
2.INSERT文でvaluesで入れてる値が空の値
空の値をINSERTすると、このエラーが発生する可能性があります。
3.サーバの設定でIUSR_****の権限の問題
まず、ファイルに読み取りと書き込み権限が必要です。
さらに、フォルダには読み取り・書き込み・削除権限が必要です。
なぜなら、Accessはldbファイルを作成しますので、ldbファイルを削除する権限が必要なのです^^;
もしうまくいかなかったら、「フルコントロール」にするのも手ですが、、、
最後にアドバイスですが、wwwからは見えない場所にmdbファイルは置いて下さい^^;
では~
No.2
- 回答日時:
> インターネット サービス マネージャで該当フォルダの「読み取り」「書き込み」もOKにしてありますし,「guestbook.mdb」のほうも「書き込み可」にしてあるのですが。
なにかほかの設定があるのでしょうか?OSはWin2000Professionalです。一応実際のディレクトリのプロパティでもアクセス権を確認してみてください。
No.1ベストアンサー
- 回答日時:
フォルダへの書き込み権限がないんじゃないですか?
InsertするってことはMDBファイルを更新するってことです。
この回答への補足
ありがとうございます。
そうなんです。インターネット サービス マネージャで該当フォルダの「読み取り」「書き込み」もOKにしてありますし,「guestbook.mdb」のほうも「書き込み可」にしてあるのですが。なにかほかの設定があるのでしょうか?OSはWin2000Professionalです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ブラウザでASPファイルを開こう...
-
【Excel VBA】PDFを作成して,...
-
Microsoft Access エラー 3051
-
VBSで指定したフォルダにファイ...
-
VBAでファイルパスが長すぎてコ...
-
エクセルVBA フォームを開く時...
-
フォルダ参照ではなくファイル...
-
batファイル処理でのテキストフ...
-
Excelでdatファイルを作成??
-
バッチファイルが作成できない
-
PowerPoint スライドの保存&メ...
-
バッチによるショートカットの...
-
テキストファイルの文字色に色...
-
Excel-VBA 撮影日時の取得
-
仮想パスの意味
-
エクセルをダウンロードさせる...
-
ダウンロード不可PDFファイルは...
-
CSVファイル操作
-
サーバーにバックアップを作り...
-
HTMLプログラムにExcelをリンク...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【Excel VBA】PDFを作成して,...
-
Microsoft Access エラー 3051
-
VBAでファイルパスが長すぎてコ...
-
Refreshで落ちる
-
OCXのライセンス
-
Excel VBA シートを指定して...
-
フォルダ参照ではなくファイル...
-
エクセルVBA フォームを開く時...
-
グーグルドライブからコピーし...
-
オンラインスキャンをしようと...
-
FFFTPでサーバに新規フォルダが...
-
ブラウザでASPファイルを開こう...
-
VBSで指定したフォルダにファイ...
-
VBAでFTPファイル転送がうまく...
-
ASP.NETで、別サーバーへファイ...
-
ExcelVBAで、隠しフォルダにあ...
-
XMLDOMのsaveメソッドのエラー
-
ASP上でFileSystemObjectのDele...
-
BASP21のアップロードについて
-
Lubuntuでフォントをインストー...
おすすめ情報