JavaScript データの追加ができない件について。

【講座名】
JavaScript初心者入門講座 に関する質問

【質問】
お世話になります。
JavaScript初心者入門講座「Step5・データを追加」で行き詰っております。
下記のような状況です。何卒、ご教示のほどお願いいたします。

①プログラムはコピー&ペーストしています(sample010.html、sample010.jsとも)。
②データベースへの接続・切断はできます。
③「T01Prefecturer」の表示もできます。
④「99、テスト」のデータを追加しようとすると...
⑤sql文のアラートはでます(insert into T01Prefecture values(99,'テスト'))。
⑥ここで、「99、テスト」のデータが追加されません。
⑦エラーメッセージがでております。
  ライン:63
  文字:3
  エラー:[Microsoft][ODBC Microsoft Access Driver]更新可能なクエリであることが必要です。
⑧Accessの「T01Prefecture」をみても、データが追加されておりません。
⑨次の「Step7・変数の中身をブラウザに表示」を試して見ましたが、やはりデータの追加ができません。
変数の中身は表示されますが、「T01Prefecture」が更新されません。

なぜ、このようなエラーがでるのでしょうか?
ご参考まで、プログラムを添付いたしますが、ウェブサイトのものをコピー&ペーストしたものです。

以上、よろしくお願いします。

【回答】
送っていただいたファイルで、動作確認したところ、問題なく動作しました。

そこで、考えられる原因の一つは、パソコンを操作しているユーザーの権限です。

多分、ファイルを変更できないユーザーで、操作しようとしているのではないかと思います。

例えば、普段使っているユーザーではなく、学習用にユーザーを作成した場合が考えられます。

「制限付きのアカウント」では、正常に機能しないことがあります。アカウントの種類を、「コンピュータの管理者」に変更してみてください。

これは XP でも起こりますが、特に Vista は、フォルダやファイルに対する権限が厳しいです。

ちなみに、データベースへの接続と、データの表示については、「読み取り専用」でも開くことができます。

接続や表示に関しては、Accessのファイルが変更されることが無いため、問題なく表示できたのだと思います。

しかし、データを変更する操作の場合は、ユーザーの権限が関係してきます。

Accessのテーブルを、直接変更できるユーザーでログインすれば、問題なく動作すると思います。


その後、読者様から返信がありましたので、以下に掲載します。同じような症状の場合は、参考にしてください。

【読書様からの返信内容】
こんばんは。

原因がわかりました。

proxyが悪さをしていたようです。
ウイルス対策のため、インターネット接続はproxyサーバ経由で行っています。
今回JavaScriptのプログラムからAccessのDBに接続するのは、インターネットを介さないと思っていましたが、どうやらproxyサーバでブロックされていたようです。

今日、PCをクリーンインストールして、proxyを使わないように設定してみたら、データの追加ができました。

当方、技術的に詳しくないため、なぜproxyが悪さをするのかわかりませんが、とりあえず、成功しました。

これで前に進めます。たいへんお騒がせし、申し訳ありませんでした。

スポンサードリンク


スポンサードリンク






プログラミング入門 Q&A TOPへ