AccessとDB2のテーブルリンクでデータベース接続ができない問題について

このQ&Aのポイント
  • サーバーAから新サーバーBに社内WEBシステムの移行を行っており、Access2000のテーブルリンクを使って、サーバーAにあるDB2のデータベースAのテーブルとリンクしようとしていますが、新サーバーBのデータベースAに接続ができません。
  • Windows2000の「ODBC データソース アドミニストレータ」で、「IBM DB2 ODBC DRIVER」を使用してデータベースAにODBCを介して接続しているが、サーバーAと新サーバーBのデータベースAという名前が同じため、新サーバーB側に接続できない。
  • 解決策として、新サーバーBのデータベースAの名前を別のものに変更することを検討する必要があります。
回答を見る
  • ベストアンサー

AccessとDB2のテーブルリンクで…

お世話になります。 ある2台のサーバーが社内にあります。 その2台のサーバーにはそれぞれ、IBMのDB2というデータベースを使用していて、それぞれのDB2内には同じデータベース名(テーブル)が存在します。 現在、サーバーAから新サーバーBに社内WEBシステムの移行を行っていて、Access2000のテーブルリンクを使って、サーバーAにあるDB2のデータベースAのテーブルとリンクをしています。 その際、テーブルリンクをする為にWindows2000の「ODBC データソース アドミニストレータ」のシステムDSNで、「IBM DB2 ODBC DRIVER」を使用してデータベースAにODBCを介して接続しております。 ですが、サーバーA側と同じ名前の、新サーバーBのデータベースAにODBCを介してテーブルリンクを繋ごうとすると、サーバーAと新サーバーBのデータベースAという名前が同じだからか、システムデータソースを追加しても、新サーバーB側のデータベースAに接続が出来ません。 この場合、新サーバーBのデータベースAの名前を同じものではなく、別の名前に変更した方が宜しいのでしょうか。 質問内容に不足な点がございましたら、内容を再度追加致します。 どうぞご教授宜しくお願いします。

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

  • ベストアンサー
  • angband
  • ベストアンサー率51% (86/168)
回答No.1

同じテーブル構成のデータベースに対する、複数のDSNが あってもなんの問題もないはずです。IPアドレスとDSNだけが違うってこと ですよね。 サーバAを参照しているテーブルリンクは、データソースをサーバBに変更した だけではずっとサーバAを参照しています。サーバBをデータソースに指定した 状態で、テーブルリンクを削除して再度リンクすればサーバBを参照できると 思います。 接続先の変更のたびにリンクテーブルは、再度リンクしなおさないとだめなので 僕は面倒なんでVBAでやってますけど。

soul_strike
質問者

お礼

angbandさん、遅くなりましたがご回答有難うございます。 ご回答を参考に、ODBCデータソースアドミニストレータの画面で、システムDSNでのODBC接続を再度見直し、サーバーB用のデータソースとして新たに接続を作成し、Accessよりテーブルリンクを作成したらサーバーBのデータベースに接続が出来ました。 改めて有難うございました。

関連するQ&A

  • AccessとSqlServerのテーブルリンク

    Access2007とSqlServer2008を使用しています。 Accessで作成したテーブルを「データベースツール」-「データの移動」でSqlServerに移行してリンクする際、 (1)SqlServerに新規にデータベースを作成すると、リンクテーブルマネージャから見てもリンク先DBが正しく表示されますが、 (2)その後、その既存DBに同じAccess内の別のテーブルを、「データベースツール」-「データの移動」してリンクしたものは、リンクテーブルマネージャから見てもリンク先DBが ()となっており表示されていません。 ツールとしてSqlServer Management Studioを使っていますが、そこからでも(1)のテーブルは表示されていますが、(2)のテーブルは表示されません。 でもリンクはできているようなのです。 また、SqlServer Management Studioを使って、SqlServer内に新規テーブルを作成し、 それをAccessからリンクしようとしても、テーブルリンク一覧内に表示されない状態です。 (「外部データ」-「ODBCデータベース」…)にて SqlServerのファイルデータソースを表示しています) (2)のテーブルはSqlServer Management Studioから見ることができないため、更新・削除もできず困っています。 DB、テーブル、リンク方法等、何か問題があるのでしょうか? よろしくお願いします。

  • accessのリンクテーブル

    AというDBのAAテーブルをBというDBのBBテーブルとしてリンクしています。 B側では単にリストで見る程度でレコードを更新、追加、削除はしません。 クエリで絞り込んで集計程度はします。 このような使い方において、B側のDBを開いたままで A側で更新や追加等を行うと排他制御とかでひっかかったりしますか? よろしくお願いします。

  • Accessのテーブルのリンクについて

    Access2002で、異なるファイル間でテーブルをリンクして使用しています。 「A」データベースと「B」データベースがあり、 「A」データベースのテーブルを「B」データベースへリンクさせています。 「B」には「A」からリンクさせているテーブルと同一の形式のテーブルがあり、 普段は「B」所有のテーブルを使用しているのですが、「保存」ボタンクリック時に 「A」からリンクさせているテーブルに「B」の内容をコピーするマクロを作成したいのですが、 値の代入がうまく行きません。 どうすればデータをコピーできるでしょうか。

  • ASPでACCESSからoracleにリンクさせて表示したい。

    はじめまして。 いろいろ調べてみたのですが、わからなかったので質問させてください。 現在、ASPを利用してACCESS(2003)のテーブルから簡単な検索をできるようにしています。 このACCESSのテーブルは、別サーバーで動いているoracle(10g)のデーターベースから EXCELでエクスポートしたものを、ACCESSでインポートして使用していました。 この手間を省くため、ACCESSとoracleをODBCを使用してリンクさせたいと思いました。 まず、ODBCのシステムDSNで「oracle in oraclient10g」で追加して、接続を確認。 その後、ACCESSにてODBCでテーブルをリンクさせて開くことも確認できました。しかし、 WEB上で確認したところ、サーバー側・クライアント側でも以下のエラーが出てしまいます。 Microsoft OLE DB Provider for ODBC Drivers (0x80004005) [Microsoft][ODBC Microsoft Access Driver] ODBC--'****' への接続が失敗しました。 これはどのようにすれば、出来るようになるでしょうか。 初歩的な質問で申し訳ありませんが、ご教授ください。 よろしくお願いします。

  • Accessのリンクテーブルについて

    Access2000を使用しているのですが、SQLServerのDBをリンクしなければいけないのですが、ODBCを使用せずにリンクさせる方法はあるのでしょうか? またはモジュールでコードを記述してリンクテーブルを作成する方法でもかまわないのですが・・・。 作成したAccessを配布したPCにODBCを設定するのが面倒なのですが・・・。 なにかいい方法があるのか教えていただきたいです。

  • Accessのインポートにてテーブルリンクについて

    AのデータベースのaテーブルをBのデータベースにて使用したいのです。 BにてテーブルリンクのAのaテーブルを指定しました。 BにてaのテーブルをオープンしてReadしたいのですが、どのようにすればいいのでしょうか? VBAでの参照設定等でリンクを行う際に指定しなければならないものとかありますか? よろしくお願いします。

  • access ODBCリンクテーブルの作り方

     自分のPCで、あるaccessの業務システムを作成し、それを数人で共有してデータの入力をするようにする為に、ODBCリンクテーブルというものを作る必要があると思っています。  既存で業務的に違う別のシステムがあり、そこでODBCリンクテーブルというものは使用しています。(退職した前担当者が作成。)  ODBCリンクテーブルというものは、どのうようにして作るのですか?  (地球マークのテーブルです。)

  • リンクテーブルのようなものは?

    ACCESSのリンクテーブルのような機能は、SQL Server 2000にあるのでしょうか? SQL Serverに作成したデータベースAとBがあり、AにあるテーブルをBから参照更新したりすることはできるのでしょうか? 具体的にはどのようなものになるのでしょうか? 初歩的な質問で申し訳ありませんが、何卒、よろしくお願いします。

  • OpenOffice BaseでAccessの「テーブルのリンク」

    Accessでは「テーブルのリンク」で複数のDBのテーブルのリンクを作成することができますが、 同じことをOpenOffice Baseにて行うことはできますか? やりたいことは、OpenOfficeがインストールされているWindowsマシンから、 複数のLinuxマシンのDB(PostgreSQL・MySQL)や当該Winマシンのmdbと接続し、 サーバ・DBを跨いでテーブルの結合(Viewの作成)をしたいのです。 現在、ODBC経由でそれぞれのDBとの接続をし、それぞれをOpenOfficeで リンクすることはできていますが、1つのodbファイルから全てのDBを 参照する方法がわかりません。 既存の複数システムのDBなので、それぞれのDBに手を入れることや、 DB設計を変えることはできません。 また、Windowsマシンにmdbファイルは置かれていますが、Officeは インストールされていません。 OpenOfficeについてあまり知識がないのですが、 ご教示いただけると助かります。

  • Oracleによるリンクテーブルでの接続エラー

    よろしくお願い致します。 今、ASPによるWebシステムを作成しています。 データはSQLserver・accessによって管理しています。 システムを動作させているサーバをAとします。 同じネットワーク上のBというサーバのOracleDB内の、ある情報の入ったテーブルを、A上のaccessからリンク(地球のマーク)しています。 そのリンクテーブルを参照して、AのWebシステムを動作させるところ(Select文によるデータ抽出)があります。 しかし、エラー「ODBC--"XXXXX"への接続が失敗しました。」と出てしまいます。 接続にはODBCを利用しており、accessを開いて直接テーブルを見ようとすれば見れます。 しかし、Web上で動作させようとするとエラーが出ます。 何が原因と考えられますでしょうか? ご教授お願い致します。 補足ですが、 OracleのバージョンはA、B共に同じです。 A:Win2000server 、B:Win2003server tnsnames.oraは修正してあり、テーブルも参照は出来ているので問題ないと思います。 Aのaccess(リンクテーブル)からBのテーブルを参照するにはパスワードが必要ですが、レジストリの設定により入力不要にしています。