• ベストアンサー

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

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

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

  • ベストアンサー
  • willieg
  • ベストアンサー率100% (1/1)
回答No.3

Accessからは、ODBCでOracleにリンク接続しているのでしょうか? それであれば、ODBCの設定画面(コントロールパネル→管理ツール→データソース(ODBC))で、「読み取り専用接続」という設定がありますので、そこにチェックをすればOKだと思います。

その他の回答 (2)

  • O_cyan
  • ベストアンサー率59% (745/1260)
回答No.2

>リンクテーブルを読み取り専用にしたいと思っています。どのようにすれば良いでしょうか。 ADOでadLockReadOnlyで開けば読み取り専用になります。 一般的に例えば Dim cn As New ADODB.Connection Dim rs As New ADODB.Recordset cn.ConnectionString = "Provider=MSDAORA; Data Source=xxx; USER ID=xxx; PASSWORD=xxx;" cn.Open rs.Open "オラクルのテーブル", cn, adOpenKeyset, adLockReadOnly

  • PrintScree
  • ベストアンサー率25% (538/2091)
回答No.1

Oracle側で読み取り専用ユーザを作成するというのが一般的ですが、それが最後の手段となると… リンクテーブルではなく、インポートしてはどうですか? 管理帳票の出力となると、一旦〆てからの作成になると思うので、不都合はないと思いますが… インポートの時間はかかるでしょうが、インポートするテーブルに必要なインデックスを作成すれば、処理時間は短くなりますよ。

関連するQ&A