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.1ベストアンサー
- 回答日時:
フォルダへの書き込み権限がないんじゃないですか?
InsertするってことはMDBファイルを更新するってことです。
この回答への補足
ありがとうございます。
そうなんです。インターネット サービス マネージャで該当フォルダの「読み取り」「書き込み」もOKにしてありますし,「guestbook.mdb」のほうも「書き込み可」にしてあるのですが。なにかほかの設定があるのでしょうか?OSはWin2000Professionalです。
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です。一応実際のディレクトリのプロパティでもアクセス権を確認してみてください。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) EXCELの外部データ取得ができない 1 2023/03/23 09:03
- Access(アクセス) Access DAOのExecuteメソッドのオプション(RecordsetOptionEnum)に 1 2022/09/19 07:34
- MySQL 参考書に従って入力したつもりでしたが、最後はエラーがでました。 1 2022/09/28 03:45
- Access(アクセス) access,vbaでフォルダ内のファイルをテーブルにインポート、ファイル名もフィールドに追加したい 1 2022/08/31 11:11
- CGI perlで書いたcgiでsqliteの使い方を教えてください 2 2023/05/08 21:29
- PHP プログラムコードを入力する場合改行してもいいですか? 2 2022/10/02 16:05
- その他(データベース) 更新クエリをリンクデータベーステーブルに実行し実行時エラー3362固有インデックスに重複する値が含ま 1 2022/09/21 11:44
- Excel(エクセル) マクロの付いたExcelが開けません 3 2023/02/01 10:54
- Visual Basic(VBA) ExcelからAccessのテーブルに書き込む時に時間がかかる 1 2022/10/14 20:38
- MySQL #1062 - '0' は索引 'PRIMARY' で重複しています。とでています。 1 2023/01/01 06:13
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ブラウザでASPファイルを開こう...
-
VBAでFTPファイル転送がうまく...
-
OCXのライセンス
-
VBAでファイルパスが長すぎてコ...
-
Refreshで落ちる
-
BASP21のアップロードについて
-
Excel VBA シートを指定して...
-
EXCEL VBA ファイルが開かれて...
-
エクセルVBA フォームを開く時...
-
フォルダ参照ではなくファイル...
-
ASPで,mdbファイルへのinsert...
-
ExcelVBAで、隠しフォルダにあ...
-
共有ファイルにあるマクロの同...
-
グーグルドライブからコピーし...
-
BitBlt関数について
-
VB2005 で encoding="Shift_JIS...
-
Microsoft Access エラー 3051
-
バッチによるショートカットの...
-
batファイル処理でのテキストフ...
-
一気にずばっと複数のメールを...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAでファイルパスが長すぎてコ...
-
Microsoft Access エラー 3051
-
Refreshで落ちる
-
【Excel VBA】PDFを作成して,...
-
ExcelVBAで、隠しフォルダにあ...
-
エクセルVBA フォームを開く時...
-
FFFTPでサーバに新規フォルダが...
-
ブラウザでASPファイルを開こう...
-
ASP上でFileSystemObjectのDele...
-
VBAでFTPファイル転送がうまく...
-
フォルダ参照ではなくファイル...
-
ASPのファイルを他のサーバにコ...
-
Excel VBA シートを指定して...
-
グーグルドライブからコピーし...
-
VBSで指定したフォルダにファイ...
-
オンラインスキャンをしようと...
-
ASP.NETで、別サーバーへファイ...
-
BASP21のアップロードについて
-
web.configファイル内、valueに...
-
CSVファイルの出力に関して
おすすめ情報