• ベストアンサー
  • すぐに回答を!

別ドメインのAccessテーブルへの接続

部内で使用しているAccessで構築したシステムを全社展開することになりましたが、 ドメイン(信頼関係なし)をまたいだ場合のテーブル接続で戸惑っています。 DBの知識が乏しいため、何卒ご教授下さい。 <全社展開対象Accessの概要>  フロントエンド:mdbファイル。バックエンド(サーバ上)のファイルに「テーブルのリンク」で接続  バックエンド :mdbファイル。フロントエンドが接続するテーブルを保持 フロントエイドのmdbファイルを他ドメインのユーザに配布し、 当部サーバの更新を行いたいと思いますが、現構成のままではテーブルの接続が出来ませんでした。 このため、接続の構成を再構築したいと思いますが 【質問1】 どのような方法があるのでしょうか? SQL ServerやMSDEでバックエンドを再構築することは 要件上出来ません。。。 【質問2】 テーブルの接続にADO(Provider:Jet.OLEDB)を利用すれば ドメイン間の信頼関係がなく、且つユーザに共有アクセス権限がなくても接続出来るのでしょうか? また、ODBCの設定必要だとしても各ユーザが行うことは出来ないため、 (対象人数が多くPCスキルが皆無なため)ODBCで接続するのであれば フロントエンドのソースに記述したいと思いますが、 【質問3】 ODBCの接続方法をソースに記述することは可能でしょうか? DB知識が乏しいため、トンチンカンな質問かもしれませんが 知恵をお貸し下さい。

共感・応援の気持ちを伝えよう!

  • 回答数1
  • 閲覧数1235
  • ありがとう数1

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

  • ベストアンサー
  • 回答No.1

>フロントエンド:mdbファイル。バックエンド(サーバ上)のファイルに「テーブルのリンク」で接続 >バックエンド :mdbファイル。フロントエンドが接続するテーブルを保持 同じような環境で接続しています。 【質問2】 ドメイン間の信頼関係がなくとも、バックエンドのMDBがおかれているサーバーの共有フォルダに アクセス可能でかつ読み書き可能であれば問題ありません。 よってサーバー側設定は、ユーザに共有アクセス権限は必要です。 サーバー所定のフォルダにはすべてのユーザーの権限登録もしくは EVERYONE フルアクセスとする必要があります。 リンクテーブルの接続文字列が接続したいMDBのフルパスである必要があります。 例 \\サーバー名\共有フォルダ名\バックエンド.MDB もしくは \\サーバーIPアドレス\共有フォルダ名\バックエンド.MDB サーバー名とする場合は違うIPセグメント間では名前解決が出来ないことが多いです。 クライアントのHOSTS ファイルを編集し追加してください。 これが出来ないなら、サーバーIPアドレスを使われることを推奨します。 【質問3】 ODBCの接続方法をソースに記述することは可能でしょうか? 上記の接続をしますので、ODBCは使用しません。 使用するクライアントのセキュリティ制御の問題があります。 ログインしていないサーバーですからクライアントのセキュリティにより サーバーMDBのオープンが拒否されます。 この回避が必要です。 インターネットオプションのセキュリティタブ イントラネットを選択し サイト(S)ボタンをクリック イントラネット 詳細設定(A)をクリック 次のWEBサイトをゾーンに追加するに file://サーバーIPアドレス を入力し 追加ボタン 下段のWebサイトに追加されたら OKボタンで各画面を閉じる。 有効にするため、クライアントを再起動してください。 クライアントから見て該当サーバーが信頼するサーバーとなったので オープン可能となります。 ここで設定するポイント整理します。 1.まずサーバー側はMDBをおいているフォルダはどのクライアントからでも読み書き可能であること 2.フロントエンドのMDBのリンクテーブルの接続名称は、サーバーファイルの絶対パスであること 3.IPセグメントがことなる場合はサーバーIPで接続(サーバーの名前解決できればサーバー名でもOK) 4.クライアントのセキュリティ制御に信頼許可の設定をする。 ほとんどがWINDOWSのファイル共有に関連することになりますので共有関連のサイトを参考にされることですね。

共感・感謝の気持ちを伝えよう!

質問者からのお礼

kozai_001様 ご回答ありがとうございます。 ご教授頂いた方法を私なりに理解して試したところ、 期待通りの結果に辿り着く事が出来ました。

関連するQ&A

  • Accessのテーブルへのリンク

    いま、ASPのDBとして使っているAccessのファイル A.mdbがあります その中の一つのテーブルを別のAccessファイル B.mdbにリンクして、参照したいと思っています。 しかし、B.mdbからリンクするときに インポートすると、A.mdbの変更が反映されず、 リンクすると、B.mdbで変更したものがA.mdbにも反映されて困っています. やりたいことはB.mdbから安全に(変更なしで)A.mdbのテーブルを 閲覧したいのです. ・A.mdbの変更をB.mdbに反映したい ・B.mdbのテーブルの変更はA.mdbに影響がない と言うことです. どうかお力添えを よろしくお願いします.

  • ACCESSを使ってのODBC接続がうまくいかない

    クライアント側のACCESSを使いODBC経由でMySQLへ接続しようとしたらうまく接続が出来ません。 現象はACCESSの、[新規作成] - [テーブルのリンク] - ファイルの種類を[ODBC Databases ()] - コンピュータデータソースにあるODBCを選択。 すると普通はここでテーブルの一覧が表示されるはずが、最初の画面に戻ってしまいます。 他のソフト(EXCELなど)でODBC接続を行ったところうまくいきます。なのでODBC自体の設定は問題ないと考えられます。 以前はうまく行っていたのですが、ACCESSのデータファイル(.mdb)を一度削除して新たに作り直したらうまくいかなくなりました。 この現象で何かわかる方いらっしゃいますか? よろしくお願いします。 MySQL 4.0 ODBC 3.51 ACCESS 2000

  • AccessとSQL Serverの連携について

    Accessをフロントエンドとして、SQL Serverをバックエンドとしてデータベースを構築したいとします。 【質問1】 構築後、Accessのテーブルやフィールドを変更することはできるのでしょうか。 【質問2】 上記の仕組みをWindowsサーバではなく、UNIXサーバ上で実現できるでしょうか。

  • 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についてあまり知識がないのですが、 ご教示いただけると助かります。

  • odbc接続でaccessのテーブルにリンクを張るには

    オラクルのデータベースからodbc接続でaccessにテーブルをリンクしようとしているのですが、起動した1回だけオラクルのユーザとパスワードがでてきます。ユーザとパスワードをいれずにテーブルをひらくことができるのでしょうか。オラクルのodbcを使っています。odbcの登録にはパスワードを登録するところがありませんでした。

  • AccessでのリンクテーブルとADO等の使い分け

    同時接続数5程度の備品管理をしたいと思っています。 共有フォルダーとAccessで構築しようと思っていますが、いずれはDBをSQLサーバなどにしたいと思っています(その前にMSDEかもしれません)。 容易にDBを変更できるようにする方法として下記の2つを考えています。  1.リンクテーブルを用いてMDBからSQLサーバに切り替える。  2.ADOを用いる。 "2"を用いることにこしたことはないと思いますが、"1"が簡単なので、どちらにしようか悩んでいます。"1"の問題となる点がありましたら教えてください。

  • SQL+access ローカルテーブル

    質問させていただきます。 SQLサーバーに既存のaccessテーブルをリンクし、accessをフロントエンドとして構築しようとしています。 リンクはできたのですが、テーブルローカルというテーブルが現れます。これは削除してもいいのでしょうか?これがあると容量が減らないので困っています。なにか使用することがあるのでしょうか? 宜しくお願いいたします。

  • Accessセキュリティ設定でのバックエンドデータ保護

     Accessを使ったアプリケーションによる社内業務改善、初挑戦の者です。  Access2003で開発したアプリケーションを用いて社内LAN上でデータベース を共有するため、セキュリティウィザードによって作成されるショートカットを 社内ユーザに配布して運用しています。  ところが、配布したショートカットのプロパティはユーザが覗くことができ、 そこには実体ファイルの所在がフルパスで記述されている為、これをたどれば ユーザが実体ファイルに直接アクセスすることができてしまうことに、きづき ました。  せっかくセキュリティ設定しても、改ざん(意図はなくても誤操作を含め) や破壊のリスクがある為、なんとかしたいと考えています。  回避する方法はないでしょうか?  なお、アプリケーションファイルはテーブル以外のオブジェクトを含んだ フロントエンドと、データベース本体(テーブル)のみを含むバックエンドに 分割しており、上記のセキュリティウィザードはフロントエンドに適用して 作成したものです。  フロントおよびバックエンドのmdbファイル、およびセキュリティ設定の mdwファイルはいずれも、関係ユーザのみがアクセス可能な社内LAN上の 特定フォルダに置いています。  万一所在が知られても、セキュリティ設定されたフロントエンドファイルや セキュリティ設定ファイルは開けないので良いのですが、バックエンドファイル (データそのもの)が開かれて改ざんされてしまうことを危惧しています。  つまりファイルが消されてしまう事故は気付くので良いのですが、データの 改ざんは、気付かずに運用継続されてしまう為、安心して運用ができません。  回避方法のご教示を、どなたかよろしくお願い致します。   以上

  • ODBC接続で困っています。

    ODBC接続で困っています。 いつもお世話になっております。 VB6.0からODBCを利用してACCESSに接続をしたいのですが、 接続文字列が良く分かりません。 色々と調べてみたのですが、 管理ツールからODBCデータソースを作成(Microsoft Access Driver (*.mdb)を使用)して、  DSN=データソース名 という風にするのと、  Driver={Microsoft Access Driver (*.mdb)};Dbq=MDBファイルパス; とするのとは同じなのでしょうか? 前者では無事に接続できたのですが、後者では接続できませんでした。 MDBファイルのパスは動的にしたいので、できれば後者の方が良いのですが、 どうしたら良いでしょうか…。 よろしくお願い致します。

  • Microsoft Accessのデータが、別々のmdbファイルとして

    Microsoft Accessのデータが、別々のmdbファイルとして2つあります。Accessを持っていないので、OpenOfficeで開いています。このmdbファイルにあるテーブルをまとめてOpenOfficのBaseで開くことはできないでしょうか? 具体的には、Microsoft Accessのデータ、「aaa.mdb」「bbb.mdb」というファイルがあります。 「既存のデータベースに接続」>「Microsoft Access」で、「aaa.mdb」や「bbb.mdb」に、個別に接続して新規データベースを作成することはできたのですが、どちらのmdbファイル内にあるテーブルも参照してクエリを作りたいんです・・・。 また、過去に無理矢理「bbb.mdb」のテーブルをCtrl+c>Ctrl+vで「aaa.mdb」にコピー&ペーストしていたこともありましたが、今回はテーブルサイズが大きいせいか、エラーになります(メッセージ:エラーが発生しました。コピー処理を続行しますか)。 データベースに関する基礎知識が足りないので、そもそもそれができるかどうかも分かりません。 Webで検索しても参考になるサイトを見つけられませんでした。 よろしくお願いいたします。