• ベストアンサー
  • 暇なときにでも

ODBCリンクの際にACCESSでは読み取り専用にしたい!

OracleデータベースをODBCでリンクしてACCESSで利用する際に、ACCESSではデータの更新をできないように(つまり読み取り専用に)したいんですが、どのように設定したらいいのでしょうか?基本的な質問で恐縮ですが、ご教示ください。

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

  • 回答数3
  • 閲覧数7475
  • ありがとう数3

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

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

ODBC接続で使用するOracle側のユーザにselect権限だけ付与すればどうでしょうか? つまり・・・ACCESSで使用するOracle側のユーザと、更新作業?を行うユーザを分けるということです。 すんません。ACCESSでもできそうだけど、そっちはよくしらないので・・・・。 意図していることと違ったらごめんなさい。

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

質問者からのお礼

ありがとうございます。 早速、参考にさせていただきます。

関連するQ&A

  • AccessでOracleのテーブルをリンクし、Access側では読み取り専用にしたい

    社内にOracleデータベースでのシステムが立ち上がっているのですが、管理帳票の出力用に、OracleのデータをAccessで読み込みたいと思っています。 テーブルのリンクそのものは知っており、成功しているのですが、Oracleデータベースのデータを壊さないようにするため、このリンクテーブルを読み取り専用にしたいと思っています。どのようにすれば良いでしょうか。 なお、Oracle側で読み取り専用ユーザを作成して、そのユーザでリンクすれば良いことは理解していますが、それは最後の手段にしたいと思っています。別の方法でうまくできないでしょうか。

  • MS-Accessのリンクテーブルで更新

    MS-Accessのリンクテーブルで更新 MS-Accessのリンクテーブルを使用して、 Oracleデータベースの表に対して 値の更新をしようとしていますが、 更新が競合しているというメッセージが出て、 更新できません。 また、値の更新をしようとしているタイミングで、 Oracleデータベース側のリンクテーブル対象表に アクセスしている処理はなく、 更新が競合していることありません。 ODBCドライバの設定では、読み取り専用設定は 実施してない点は確認しています。 使用しているソフトウェアの各バージョンは以下になります。 Access 2007 Oracle 10.2.0.4.0 WindowsXP SP3 ODBCドライバ 10.02.00.01 リンクテーブルからの更新自体がそもそも出来ないのでしょうか? MS-Accessを使用してOracleデータベースの表の値を更新したいと思っているのですが、 解決方法をご存知の方がいらっしゃいましたら、教えていただけないでしょうか?

  • AccessからSQLServerを読み取り専用で開きたい

    Access2003で、SQLServer2005のテーブルをODBC経由でリンクしたいのですが、その際に「読み取り専用」としたいのです。 ツール - セキュリティ - ユーザ/グループの権限 をいろいろいじってみたのですが、データが更新されてしまいます。 過去ログをあたってみたのですが、なかなかこれというのにヒットしませんでした。 どなたかご存知でしたら教えてください。

その他の回答 (2)

  • 回答No.3

#1です。 ちょっと調べました。 ACCESSで、「ツール」→「セキュリティ」→「ユーザ/グループの権限」で読み取り権限だけ付与できそうです。 まぁ、詳しくは知りませんが、ここらあたりで設定すればできそうですね。 どうでしょうか?

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

質問者からのお礼

ご回答ありがとうございます。 参考にさせていただきます。 こちらでもいろいろと調べたところ OracleのODBCでは「読み取り専用」での 接続を設定できそうです。 併せて確認してみようと思います。 いろいろとご教示ありがとうございました。

  • 回答No.2
  • jch
  • ベストアンサー率38% (7/18)

(1)管理ツール -> データソース -> ユーザーDNS  -> 追加 -> ORACLE選択します。 (2)access->開く->ファイル種類でODBCデータベースー()->コンピュータデータソース->(1)で追加したのを選択->一覧から必要なテーブルを選択

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

質問者からのお礼

ご回答ありがとうございます。 そのような手順で接続はしているのですが、 そのままでは、ACCESSから元のOracleの内容を 更新できる状態になっていると思います。 Oracleはわからないけど、ACCESSならわかるという メンバーの為に、ACCESSベースで内容の参照のみ できるかたちにしたいと思っています。 またNo.1のご回答で、ユーザーを別にすることを ご教示いただきましたが、できればユーザーは 同一のままにしておきたいという状況です。

関連するQ&A

  • ACCESSで読み取りONLYにする方法

    OFFICE2010、ORACLE OraClient11g_home1 ACCESSとOracleをODBC接続設定しています。 ACCESSで誤って編集した結果がOracleに反映されない様に したいのです。 ACCESSを読み取り参照のみにすることができるという内容を調べ、 ACCESSのファイル形式をmdbにしました。 これによりユーザ権限の変更が可能になります。 情報→ユーザの権限と管理→ユーザ\グループの権限 で、権限の項目に関し ユーザ/グループ名:管理者 リスト:ユーザー オブジェクトの種類:テーブル 権限: 構造の読み取り、データの読み取りの2ケ所のみに レを入れた状態です。 しかしながら、 ACCESSでデータ変更するとORACLEのデータベースもリンクして変更されてしまいます。 何がおかしいのでしょうか? ※oracle側で読み取りのみの方法もあるみたいですが、ACCESS側で設定したく。

  • Access 2003 ODBC リンクについて

    Access2003でのORACLE ODBCリンクについてお伺いいたします。 ヒントだけでも頂ければと思います。 現在Windows2000サーバとWindowsXP端末がリンクされAccessデータベースを 入力・編集・検索するフォームが作成されています。(他の人が作成したもの) これらは、ネットワークケーブルでつながれ、データベースの同期も取られているようです。 先日、ネットワークケーブルを外し、サーバだけで検索しようとしたところリンクできないという エラーになりました。 サーバにデータベースのソースがあり、サーバ単独で稼働するものと考えていましたが、 端末とサーバがないとプログラムが稼働しないことがわかりました。 サーバだけで稼働するようにするには、 (1)テーブル・クエリ・フォームをエクスポートし、新たにを作成しインポートすれば可能でしょうか? (2)リンク先の変更などで可能でしょうか? (2)フォームのODBCリンクの部分をVisual Basicで変更しないと無理でしょうか? 以上よろしくお願いいたします。

  • ODBC データソース選択画面がでてこない

    お世話になります。 Access2003にOracle10gをODBC接続したいのですが、 テーブルのリンクで ファイルの種類にODBCデータベースを選択するまでは できるのですが、 その後、データソース選択画面がでてきません。 インポートも同じようにできません。 他PCで、Access2000でリンク作成したMDBを Access2003で開いてみると、 Oracleのデータまで見ることができますので ODBC設定は正しいと思います。 Access2003を一旦削除し、インストールしなおしても 同じでした。 どうすればいいでしょうか?

  • AccessからOracleDBへのリンク(ODBC経由)

    AccessからOracleDBへのリンクについて教えてください。 以前の質問でも似たような質問があったのですが、少し違うようなので 質問させていただきます。 Oracleクライアント(Net8含む)がインストールされていないPCからODBC経由でOracleDB をリンクさせて参照しようと考えています。 そこで、OracleDBを参照できるように「設定」→「コンパネ」→「ODBCデータソース」 から ”Microsoft ODBC for Oracle” バージョン 2.573.6526.00 データソースを新規に追加しようとすると下記のようなエラーメッセージが表示され怒られてしまいます(--;) **************************** エラー内容 ***************************** Oracle(tm)クライアントとネットワークコンポーネントが見つかりません。これらのコンポーネントは Oracle Corporationから提供され、Oracle Version 7.3(またはそれ以降) のクライアントソフトウェアの一部としてインストールされます。 このドライバを使用するには、これらのコンポーネントを先にインストールしてください。 ****************************************************************** このようなエラーメッセージが出るということは具体的に何が足りないのでしょうか? やはりOracleクライアントのインストールは必須なのでしょうか? 申し訳ないですが宜しくお願い致します。 Access97、Oracle8.1.6

  • AccessからOrcleのODBCリンクテーブルへの挿入

    OS:XPpro Access:97,2000 Oracle:7 AccessからOracleのODBCリンクテーブルに対して追加クエリを実行すると、 ODBC--リンクテーブル'テーブル名'への挿入に失敗しました。 [Oracle][ODBC Oracle Driver][Oracle OCI]ORA-01461: can bind a LONG value only for insert into a LONG column.(#1461) というエラーが発生します。 メモ型のフィールド'A'をvarchar2(4000)のフィールド'B'に追加する部分で、LeftB(A,4000)としている部分がうまく行かないようようなので、LeftB(A,3000)と丸めてあげると通ります。 質問を纏めますと、 1.varchar2(4000)となっていても、4000Byteのデータを挿入することはできないのでしょうか。 2.発生しているエラーは、私の考えとは別の問題なのでしょうか。 ご回答よろしくお願いします。

  • ODBCを使い外部データベースとリンクして値を参照しているAccess

    ODBCを使い外部データベースとリンクして値を参照しているAccessアプリケーションを使おうと思っています。 ところが、アプリケーションを終了した後、Excelのデータベースクエリーを使うと、パスワードキャッシュが働いてしまうのか、パスワードの認証がスキップされるために、どんなデータもダウンロードし放題ということに気づきました。 DNSを使用せずにODBCの接続文字列を指定してパススルークエリーを使おうと思ったのですが、接続するデータベースが2種類あると接続ができないようなので、リンクの方法を取らざるを得ないようです。 ODBCドライバ、もしくはデータベースのアカウントのアクセス権の与え方で解決できうる問題なのかもしれませんが、ODBC専用のアカウントを使用しています。 ODBCのパスワードキャッシュをクリアする方法は有るのでしょうか? ちなみにデータベースはMySQLとDB2です。 何らかアドバイス頂ければ幸いです。

  • ODBCデータベースに対するリンクテーブル設定ができません

    こんにちは。 ORACLE DBをリンクテーブル設定の対象としたいのですが、うまくいきません。どなたかアドバイスをお願いします。 ・既に行った設定 OracleClient及びODBCドライバを使用するPCに導入し、コントロールパネルの管理ツールより、データソースの設定を行いました。 ・同機能から接続テストを行い、「成功」と出ました。 ・うまくいかない手順 (1)Accessにて新規データベースを作成し、「データベースウィンドウ」が開いている状態にします。 (2)メニューバー→外部データの取り込み→テーブルのリンクを実行します。 (3)「リンク」ウィンドウが表示され、「ファイルの種類」を「ODBCデータベース」に指定すると、強制的に「データベースウィンドウ」表示のみの画面に戻されます。 何故なのかがわかりません。どなたかアドバイスをどうかお願い致します。

  • ODBC接続で新しいレコードを追加できない

    OS XP SP3、ACCESS2003 DBはSQLserver2005express です SQL Server Management Studio Express を使って 新しいDB、テーブル、項目は作成できました。 また同じツールを使って手入力でデータを追記することもできます 質問はこのテーブルを ACCESSからODBC接続して 追加クエリーを実行したいのですが リンクしてテーブルを開いた時点で新規レコードが追加できない状態です。 サーバーの更新をしたく、少ないデータであれば手入力でも 大量のデータでは…ACCESSのクエリーを使いたいと思っております。 ODBC接続の設定が読み取り専用になっているのか そうであれば その設定はどこにあるのか 教えてもらえないでしょうか? 宜しくお願いいたします

  • AccessからODBC経由でのSQLServerへの接続

    Access(2002)からSQLServer2000(8.0 Developer Edition)へODBC経由で接続にいってテーブルを参照したのですが読み取り専用でデータの変更、レコードの追加・削除等ができません。 データの変更等ができるようにしたいのですが、どうすればよいのでしょうか? 接続するときのユーザーは接続先のデータベースに対してオーナー権限を持っています。また、DSNはシステムDSN、ファイルDSNでそれぞれ作り接続を試してみましたが両方とも読み取り専用で開いてしまいました。 ちなみにPHPでODBC接続してINSERTするプログラムを作り動かしたところ問題なく動きました。 宜しくお願い致します。

  • AccessからOrcleのODBCリンクテーブルにて

    OS:XP Pro Access:2003 Oracle:9i という環境で、AccessからOracleのODBCリンクテーブルを作成して使用しています。 リンクテーブルを作成する際、パスワードの保存にチェックを入れて、作成しました。 Orcle側のパスワードを変更したいのですが、変更前に作成したリンクテーブルは 作成し直しになってしまうでしょうか?