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

ASPでAccess接続 ODBCの設定について

このQ&Aのポイント
  • ASPでAccessファイルへの接続方法として、ODBCデータソースを使用した方法がある。
  • しかし、ODBCデータソースへの設定が間違っている場合、エラーが発生する可能性がある。
  • また、以前使用していたサーバのODBC設定が残っている場合、接続先が誤ってしまうことがある。

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

  • ベストアンサー
  • x-1919
  • ベストアンサー率52% (91/173)
回答No.1

> しかし、確認するとエラーになり、どうも以前使っていたサーバへ接続しているような感じです。 どのような確認をして、どういったエラーがが出て、以前のサーバーへ接続しようとしているという結論になったのかを説明してみては? 旧サーバーをシャットダウンする。 旧サーバー上の DSN 定義の名前を変える。 旧サーバー上の DSN 定義を削除する。 旧サーバー上の MDB を別の場所に移す/ファイル名を変える/削除する など、どれでもまぁ 「旧サーバーの MDB への連絡路を絶つ」 という状態にしてから新サーバーでテストしてみましたか? 明らかに DSN 名を使って MDB へアクセスしているコードが書かれている ASP のページを表示しようとしても旧サーバーに接続しているのでしょうか。 エラーが出たページのコードをもう一度確認してみてはどうでしょうかね。 おそらく一部のページでは接続文字列を直接コードの中に書いちゃってるって線じゃないでしょうか。 # まさか新サーバーに作った DSN に旧サーバーの MDB へのパスが書かれているってことはないと思いますが。

mmr0920
質問者

お礼

昨日、接続部分だけのコードが書いてあるファイルを発見しました。 原因判明です。 ありがとうございました。ご回答、参考になりました。

mmr0920
質問者

補足

回答ありがとうございます。 まず、使用しているサーバへリモートデスクトップで入り、ローカルアクセスをしたところ、下記エラーが出ました。 Microsoft JET Database Engine エラー '80004005' パス '以前使っていたであろうサーバのパス' は正しくありません。パス名に間違いがないことと、ファイルが置かれたサーバーに接続していることを確認してください。 次に、旧サーバでの状態ですが、確認が取れていない状態です。 これは早急に確認を取り、旧サーバ上の設定をクリアにして貰います。 コードについては、 <% Dim sSQL2,rs2,cnn2 Dim lMetaDesc, lMetaKwds Set rs2 = Server.CreateObject("ADODB.RecordSet") Set cnn2=Server.CreateObject("ADODB.Connection") cnn2.open DSN名 // Tags = request.querystring("Tags") // Tags = 14 sSQL2 = "SELECT * FROM content WHERE Id=" & Tags rs2.Open sSQL2,cnn2,0,1 if NOT rs2.EOF then lMetaKwds=rs2("MetaKwds") lMetaDesc=rs2("MetaDesc") %> <meta name="keywords" content="<%=lMetaKwds%>"> <meta name="description" content="<%=lMetaDesc%>"> <% end if rs2.Close cnn2.Close set rs2 = nothing set cnn2 = nothing %> が全てです。 試しに、現サーバのDSN名を「例:AAA」として、オープンの部分を cnn2.open AAA としてみました。 (ODBCではデータソース選択済み、単純にDSN名を変えただけ) その上で再度ローカルアクセスしてみましたが、エラー内容は変わりませんでした。 新サーバのDSNには新サーバのパスを書いています。 さすがに旧サーバのパスは書いてないです。 元々、海外サーバで運用し開発者も海外の方らしく、開発者の方に詳細を聞いて欲しいと上司に言っても、うやむやにされるので詳細が分からないまま、サーバでテストしている状態です。 こんな状態で質問してしまって、本当にすみません。 よろしくお願い致します。

関連するQ&A