• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:MSアクセスの、サーバーでの設定について)

MSアクセスのサーバー設定でデータベースに接続できない問題について

このQ&Aのポイント
  • マイクロソフトアクセスのデータベースをサーバーにアップロードしたところ、ローカルでは動作するがサーバー上では動作しなくなりました。
  • データベースに接続するJavaScriptファイルを正しく設定しているにもかかわらず、どの方法を試しても接続できません。
  • 解決策を教えていただけると助かります。

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

  • ベストアンサー
  • wormhole
  • ベストアンサー率28% (1619/5653)
回答No.5

>ふと思ったのですが、だんだん私の最初の質問から離れていくように感じるのですが、私だけでしょうか。 離れていっていません。 そもそもどこで動作してるのか把握してないこと自体問題なんですけど。 valoxさんの書かれているjavascriptはブラウザ上で動作するものであってWebサーバー上で動作するものではないです。 Webサーバー上にもっていったところで実行される際にはブラウザにロードされて実行されています。 ですのでWebサーバー上で動作させるには(今回はおそらくWebサーバーはIISなので)ASPで書き直してください。 ASP JScript で調べると書き方が違うのがわかると思います(イメージ的にはphpを想像すればわかりやすいかと思います)

valox
質問者

お礼

おはようございます。 回答くださったものを読んで、そうだったのか、と、目からうろこが落ちる気分でした。 てっきり、javascriptで、かけてしまうものだと思っていました。サーバ上では、phpを使ったときに、例外処理に使ったのですが、おんなじように考えていました。ASPを勉強すればよいということがわかりました。ありがとうございました。 すると、別に疑問がわいてきました。Javascriptは、必要な言語なのだろうかということです。根本的に、サーバ上では、javascriptは、手直し程度しか使えないということでしょうか。 よろしくお願いいたします。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (4)

  • wormhole
  • ベストアンサー率28% (1619/5653)
回答No.4

>「確認のメッセージ」とは >これは、ブラウザが、javascriptを実行してよいかどうかの、確認のことです。 それはブラウザで実行されるjavascriptがあるから確認されてるのだと思いますが。 質問で書かれているjavascriptは <script type="text/javascript"> ~ </script> や <script type="text/javascript" src="javascriptの書かれたファイル名"> </script> のようになってたりしませんか?

valox
質問者

補足

>のようになってたりしませんか? なっています。 ふと思ったのですが、だんだん私の最初の質問から離れていくように感じるのですが、私だけでしょうか。 よろしくお願いいたします。

全文を見る
すると、全ての回答が全文表示されます。
  • wormhole
  • ベストアンサー率28% (1619/5653)
回答No.3

>はい、無効にしても動きます。確認のメッセージが出ますが。 「確認のメッセージ」とは >alert("データベースに接続しました。"); >alert("データベースを切断しました。"); この2つの事ですか? またブラウザのjavascriptを無効化は具体的にはどうされたんでしょうか? ソースを見る限りサーバーサイドjavascriptでは使わなそうな関数などがあるのでサーバサイドーjavascriptではないと思うんですけど。 alert(),onload,onunload,onblur,onfocusなど。

valox
質問者

補足

「確認のメッセージ」とは これは、ブラウザが、javascriptを実行してよいかどうかの、確認のことです。 あとはよくわかっていません。 サーバーにアップロードするときに、アクセスのデータベースだと書くべきだとされている、文言を書いただけです。 すいません。

全文を見る
すると、全ての回答が全文表示されます。
  • wormhole
  • ベストアンサー率28% (1619/5653)
回答No.2

>サーバ上にアップロードしています。のでWebサーバ上です。 サーバー上にアップロードされている=Webサーバ上で動作する ではありません。 アップロードされてるからとかではなくて(それも勉強のうちだと思って)ちゃんとどこで動作しているのか確認してください。 いろいろなサイトでjavascript使われていると思いますけど、それらjavascriptがwebサーバ上で動作しているのならIEなどのブラウザのjavascript機能を無効にしても動くということですよね。

valox
質問者

補足

>IEなどのブラウザのjavascript機能を無効にしても動くということですよね。 はい、無効にしても動きます。確認のメッセージが出ますが。

全文を見る
すると、全ての回答が全文表示されます。
  • wormhole
  • ベストアンサー率28% (1619/5653)
回答No.1

そのjavascriptはどこで動いてるんですか? >Conn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & _ >Server.MapPath ("/YourUSERNAME/db/yourdatabase.mdb") & ";" 上記で得られるmdbファイルのパスはjavascriptが動作してるPC(?)上のパスのような気がしますけど。

valox
質問者

補足

回答くださりありがとうございます。お世話になっております。 >そのjavascriptはどこで動いてるんですか? サーバ上にアップロードしています。のでWebサーバ上です。 >上記で得られるmdbファイルのパスはjavascriptが動作してるPC(?)上のパスのような気がしますけど Server.MapPath ("/YourUSERNAME/db/yourdatabase.mdb") & ";" で指定しているので、ローカルではないと思います。というのは、この書き方は、そのサーバのQ&Aにあったものを、そのまま持ってきたものです。 Webのほうは、本当に初心者なので、これ以上何を書けばよいのかわかりません。おかしなところがあれば、ご指摘ください。 よろしくお願いいたします。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 卒業研究でホームページを作成しています

    今、卒業研究でホームページ作成をしています。accessのデータをホームページに反映させるためにjavascriptを使用しているのですが知識がなくエラーがたくさん出ます。ソースを貼りますので誰かわかる方教えて下さい エラーの内容は「~はnullまたはオブジェクトではありません」というものです。 var database; var r01; var r02; onload = init; onunload = dbClose; function init(){ dbConnect(); dataDisp(); } //データベースに接続 function dbConnect() { database = new ActiveXObject("ADODB.Connection"); database.Open("Driver={Microsoft Access Driver (*.mdb)}; DBQ=F:\\ikumi\\SampleDB010\\SampleDB010.mdb;"); alert("データベースに接続しました。"); } //データベースを切断 function dbClose() { database.Close(); database = null; alert("データベースを切断しました。"); } function focus(obj){ obj.style.backgroundColor = "#ffff00"; } function blur(obj){ obj.style.backgroundColor = "#ffffff"; } //データ表示 function dataDisp() { if (r01[0].checked){ var mySql = "SELECT * FROM 1 WHERE [1].station='大分'"; alert("SQL"); var recordSet = database.Execute(mySql); var tempHtml=""; document.getElementById("disp").innerHTML = ""; while (!recordSet.EOF){ tempHtml = tempHtml + recordSet(0) + "; " + "<br />"; recordSet.MoveNext(); } document.getElementById("disp").innerHTML = tempHtml; recordSet.Close(); recordSet = null; /**/; var mySql = "SELECT * FROM 1 "; var recordSet = database.Execute(mySql); var tempHtml=""; document.getElementById("disp").innerHTML = ""; while (!recordSet.EOF){ tempHtml = tempHtml + recordSet(0) + "; " + "<br />"; recordSet.MoveNext(); } document.getElementById("disp").innerHTML = tempHtml; recordSet.Close(); recordSet = null; /**/}; } SQL文がいまいちよく分からないので、 多分SQLの部分のエラーだと思います。

  • null 判定について

    javascriptに関して質問させて下さい。 accessのDBのデータをHTML上で表示・追加・削除・更新を行っています。 DB上のデータで空欄の項目を表示させたときに null が表示されます。 nullではなく空欄にしておきたいので、null判定チェックを 行っているのですが、ひっかかってくれない状態です。 ------------- var database; database = new ActiveXObject("ADODB.Connection"); database.Open("Driver={Microsoft Access Driver (*.mdb)}; DBQ=c:\\mydb.mdb;"); var mySql = "select 種別, 内容 from Aテーブル; var recordSet = database.Execute(mySql); var tempHtml = "種別=" + recordSet(0); if(recordSet(1) != null){ tempHtml = tempHtml + "<br>内容=" + recordSet(1); }else{ tempHtml = tempHtml + "<br>内容="; } (略) --------------- recordSet(0)=種別 recordSet(1)=内容 上記のように普通にnull判定をしてるつもりなのですが、 recordSet(1)=内容 が access上で空欄の場合=null もif文内に入り、 「null」という文字列が表記されます。 ※accessからとってきたデータではなく、  javascript内で null を設定した場合はチェックにひっかかっています。 var tmp = null; if(tmp == null){ alert("nullである"); } 何が悪いかお分かりになる方、ご回答お願いします。

  • ソートの設定

    ASPでアクセス97を使って品番、納期という順番に表示させたいのですが うまくいきません。 SQL文を使って品番順にはならんだのですが、納期がばらばらになってしまいます。どうしたら品番、納期順という並びになるか教えて下さい。 Dim Conn,SQL,RS xxxx=server.mappath("*****.mdb") DBName="Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & xxxx Set Conn = Server.CreateObject("ADODB.Connection") Conn.open DBName SQL = "select * from ******" SQL = SQL & " order by 品番 asc" set RS = Server.CreateObject("ADODB.Recordset") RS.Open SQL, Conn,3,3

  • JScriptでDBへの接続方法について

    JScriptを使用してDBへの接続方法を教えて下さい。 var conn = Server.CreateObject("ADODB.Connection"); var rs = Server.CreateObject("ADODB.Recordset"); conn.Open; rs.Open("sheet2", "DRIVER={Microsoft Excel Driver (*.xls)}; DBQ =" + Server.Mappath("tes.xls")); sSQL = "SELECT * FROM sheet2"; からの接続がうまくいきません。 どこがいけないのでしょうか? それとも、全てがいけないのでしょうか? よろしければ、どなたかご教授下さい。 お願いします。

  • 日付範囲指定について

    よろしくお願いします。 年、月をコンボボックスで表示させ、選択できるようにしてあります。jsの内容は以下です。 ----------------------------------------------------- var ymin = 1950; var ymax = 2050; function getToday(){ var t = new Date(); var y = t.getYear(); if(1900 > y){y += 1900;} var m = t.getMonth()+1; var d = t.getDate(); fyear(y); fmonth(m); fday(d); } function fyear(thisyear){ var obj = document.getElementById('year'); ymin =ymin - 0; ymax =ymax - 0; var j = 1; for(i = ymin; ymax > i; i++){ var str = i.toString() + "年"; obj.options[j] = new Option(str); obj.options[j].value = i; if(i == thisyear){ obj.options[j].selected = true; } j++; } } function fmonth(thismonth){ var obj = document.getElementById('month'); for(i = 1; 12 >= i; i++){ var str = i.toString() + "月"; obj.options[i] = new Option(str); obj.options[i].value = i; if(i == thismonth){ obj.options[i].selected = true; } } } ----------------------------------------------------- これを利用して日付範囲指定(例として、2006年1月~2008年8月ような感じ)を行いたいのですが、可能でしょうか? 自分で試した方法ですと、前半(2006年1月)は表示できるのですが、後半(2008年8月)が表示できませんでした。 試したソースは以下 --------------------------------------------------- <!-- var ymin = 1950; var ymax = 2050; function getToday(){ var t = new Date(); var y = t.getYear(); if(1900 > y){y += 1900;} var m = t.getMonth()+1; var d = t.getDate(); fyear(y); fmonth(m); tyear(y); tmonth(m); } function fyear(thisyear){ var obj = document.getElementById('year'); ymin =ymin - 0; ymax =ymax - 0; var j = 1; for(i = ymin; ymax > i; i++){ var str = i.toString() + "年"; obj.options[j] = new Option(str); obj.options[j].value = i; if(i == thisyear){ obj.options[j].selected = true; } j++; } } function fmonth(thismonth){ var obj = document.getElementById('month'); for(i = 1; 12 >= i; i++){ var str = i.toString() + "月"; obj.options[i] = new Option(str); obj.options[i].value = i; if(i == thismonth){ obj.options[i].selected = true; } } } function tyear(thisyear){ var obj = document.getElementById('tyear'); ymin =ymin - 0; ymax =ymax - 0; var j = 1; for(i = ymin; ymax > i; i++){ var str = i.toString() + "年"; obj.options[j] = new Option(str); obj.options[j].value = i; if(i == thisyear){ obj.options[j].selected = true; } j++; } } function tmonth(thismonth){ var obj = document.getElementById('tmonth'); for(i = 1; 12 >= i; i++){ var str = i.toString() + "月"; obj.options[i] = new Option(str); obj.options[i].value = i; if(i == thismonth){ obj.options[i].selected = true; } } } //--> どうかよろしくお願いします。

  • javascriptを使った画像のキャプションについて教えてください

    こんにちは。 各サムネイルをクリックするごとに、拡大した画像が表示されるページを作成しているのですが、 その拡大画像ごとにキャプションをつける場合、どうすればいいのでしょうか。 -----------以下html---------------------------- <table> <tr> <td><a href="#" onclick="blocking(1); this.blur(); return false;">テスト</a></td> </tr> <tr> <td class="binnen"> <div class="infor" id="nr1"> <a href="#" onclick="resizeImg('groot1',500,500); WM_imageSwap('groot1','images/test1.jpg');this.blur(); this.blur(); return false;"><img src="images/test1thumb.jpg" alt="" width="50" height="50" /></a> <a href="#" onclick="resizeImg('groot1',500,500); WM_imageSwap('groot1','images/test2.jpg');this.blur(); this.blur(); return false;"><img src="images/test2thumb.jpg" alt="" width="50" height="50" /></a> <a href="#" onclick="resizeImg('groot1',500,500); WM_imageSwap('groot1','images/test3.jpg');this.blur(); this.blur(); return false;"><img src="images/test3thumb.jpg" alt="" width="50" height="50" /></a> <span class="groot"><a href="#" onclick="resizeImg('groot1',1,1); WM_imageSwap('groot1','images/spacer.gif');this.blur(); this.blur(); return false;"> <br><img name="groot1" src="images/spacer.gif" alt="" width="1" height="1" /><br></a></span></p> </div> </td> </tr> </table> ----------以下javascript------------ // resizeImg() function resizeImg(imgId,width,height) { var objStr,obj; if(document.images) { objStr = 'document.' + imgId; obj = eval(objStr); obj.width = width; obj.height = height; } } // WM_preloadImages() function WM_preloadImages() { if (document.images) { if (typeof(document.WM) == 'undefined') { document.WM = new Object(); } document.WM.loadedImages = new Array(); var argLength = WM_preloadImages.arguments.length; for(arg=0;arg<argLength;arg++) { document.WM.loadedImages[arg] = new Image(); document.WM.loadedImages[arg].src = WM_preloadImages.arguments[arg]; } } } // WM_imageSwap() function WM_imageSwap(daImage, daSrc) { var objStr,obj; if(document.images) { if (typeof(daImage) == 'string') { objStr = 'document.' + daImage; obj = eval(objStr); obj.src = daSrc; } else if ((typeof(daImage) == 'object') && daImage && daImage.src) { daImage.src = daSrc; } } } // blocking() var supported = (document.getElementById || document.all); if (supported) { document.write("<style type='text/css'>"); document.write(".infor { display:none; }"); document.write("</style>"); var max = 7; var shown = new Array(); for (var i=1;i<=max;i++) { shown[i+1] = false; } } function blocking(i) { if (!supported) { alert('This link does not work in your browser.'); return; } shown[i] = (shown[i]) ? false : true; current = (shown[i]) ? 'block' : 'none'; if (document.getElementById) { document.getElementById('nr'+i).style.display = current; } else if (document.all) { document.all['number'+i].style.display = current; } } ---------以下css-------------------- .infor { display:block; } .groot { text-align:center; display:block; } .binnen { border:none; } ------------------------------------------ よろしくお願いします。

  • 配列に格納した値が保存されない

    DB(Access)から取得した内容を配列に格納し、その内容を取り出すプログラムを 以下のように書いてみました。 whileループ内の alert("ループの中=" + data_array[i]); では配列の中の値が参照できるのですが whileループの外で for(var i=0;i < data_array.length; i++){ alert("ループの外:" + data_array[i]); } 配列の中身を表示させようとしたところdata_array.length の長さが0になっており 配列の中身が参照できない状態です。なにが原因かわかりますでしょうか。 <html> <script language="javascript" type="text/javascript"> function dbSearch() { var sql="select * from URL where flg=0"; var database = dbConnect(); var recordSet = database.Execute(sql); var data_array = new Array(); while (!recordSet.EOF){ data_array[i] = recordSet(0); alert("ループの中=" + data_array[i]); recordSet.MoveNext(); } alert("長さ=" + data_array.length); for(var i=0;i < data_array.length; i++){ alert("ループの外:" + data_array[i]); } database.Close(); return; } //データベースに接続 function dbConnect() { var database = new ActiveXObject("ADODB.Connection"); database.Open("Driver={Microsoft Access Driver (*.mdb)}; DBQ=c:\\test.mdb;"); return database; } </script> <body> <input type="button" value="DB接続" onclick="dbSearch()"> </body> </html>

  • <body>にwindow.onload = functionを2つ設定すると、最後に書いたイベントだけが実行されてしまいます。

    <body>タグにonloadイベントを実行させる2つの外部jsを<head>内に設置し実行すると、 最後に記述したイベントだけが反映されてしまいます。 http://blog.webcreativepark.net/2008/02/26-185844.html を参考にいろいろといじってはみたのですが、 function addEvent(elm,listener,fn){ try{ elm.addEventListener(listener,fn,false); }catch(e){ elm.attachEvent("on"+listener,fn); } } js初心者でして、上の関数の中にどのように記述をすれば良いのかわかりません。 IE6・IE7・safariで動作させるには、実際にどのようなソースを書けばいいのでしょうか。 どなたかご教授いただけますでしょうか。 <head>内の外部jsは、以下のように記述しました。 <script src="/A.js" type="text/javascript"></script> <script src="/B.js" type="text/javascript"></script> </head> 外部jsのソースは以下になります。 //A.js window.onload = function() { var blur = function () { this.blur() }; for (var i = 0; i < document.links.length; i++) document.links[i].onfocus = blur; } //B.js window.onload = function() { prepZooms(); insertZoomHTML(); zoomdiv = document.getElementById(zoomID); zoomimg = document.getElementById(theID); } 以上になります。宜しくお願い致します。

  • JavaScriptのプルダウン処理について

    最近JavaScriptを勉強し始め、うるう年に対応した日付プルダウン処理が可能、という事なので、ネットを参考に以下のようにしてみました。 //月によって日数を変更する処理 function setDay(year,month,day) { var y = parseInt(document.getElementById(year).value,10); var m = parseInt(document.getElementById(month).value,10); // 閏年判定 if (2 == m && (y % 400 == 0 || (y % 4 == 0 && y % 100 != 0))) { //月の最終日の変数 var last = 29; } else { var lastday = new Array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31); last = lastday[m-1]; } // 要素取得と初期化 var obj = document.getElementById(day); obj.length = 0; // 日の要素を追加 for (var i = 0; i < last; i++) { obj.options[obj.length++] = new Option(i + 1, i + 1); } } これでうるう年対応とする事は出来たのですが、恥ずかしい事にネットの情報なので、何をしているのかおぼろげにしか理解出来ません。大変申し訳ないのですが、このソースについて解説して頂けないでしょうか?どうぞよろしくお願い致します。

  • オブジェクトがありませんのエラー

    過去ログを呼んで近いのがあったのでよく読んだのですが よくわかりませんので書き込みします。 以下のスクリプトで「オブジェクトがありませんのエラーが発生します。3行目のfor文の「obj.childNodes」でエラーが発生します。 「document.getElementById」が「null」であるのが原因のようですが、なぜ「document.getElementById」に値が入らないのかがつかめません。 お手数ですがよろしくお願いします 【script】 --------------------------------------------- if(document.getElementById && document.all && !navigator.userAgent.match(/Opera/)){ var obj = document.getElementById("mainmenu"); for(var i=0;i<obj.childNodes.length;i++){ if(obj.childNodes[i].className=="pullmenu"){ obj.childNodes[i].onmouseover = function(){pull(this) }; obj.childNodes[i].onmouseout = function(){pull(this) }; } } } --------------------------------------------- 【html】 --------------------------------------------- <ul id="mainmenu"> <li id="Begginer" class="pullmenu"><a href="http://www.○○○.co.jp/b/w.php">○○○</a> <ul> <li><a href="http://www.○○○.co.jp/b/w.php">○○○ </a></li> <li><a href="http://www.○○○.co.jp/b/s.php">○○○ </a></li> <li><a href="http://www.○○○.co.jp/b/m.php">○○○ </a></li> </ul> </li> </ul>

WRC-1167ACF2が繋がりません
このQ&Aのポイント
  • パソコンがあるので有線で繋ごうとしましたが、Wi-Fiがないのでオフラインになってしまい192.168.2.1のページまでたどり着けません。
  • WRC-1167ACF2がWi-Fi接続できない問題が発生しています。有線接続を試みましたが、オフラインになってしまいました。
  • Wi-Fiが利用できないため、有線接続でWRC-1167ACF2にアクセスしようとしましたが、オフラインの状態になってしまいました。
回答を見る

専門家に質問してみよう