- ベストアンサー
AccessでOracleのテーブルをリンクし、Access側では読み取り専用にしたい
社内にOracleデータベースでのシステムが立ち上がっているのですが、管理帳票の出力用に、OracleのデータをAccessで読み込みたいと思っています。 テーブルのリンクそのものは知っており、成功しているのですが、Oracleデータベースのデータを壊さないようにするため、このリンクテーブルを読み取り専用にしたいと思っています。どのようにすれば良いでしょうか。 なお、Oracle側で読み取り専用ユーザを作成して、そのユーザでリンクすれば良いことは理解していますが、それは最後の手段にしたいと思っています。別の方法でうまくできないでしょうか。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
Accessからは、ODBCでOracleにリンク接続しているのでしょうか? それであれば、ODBCの設定画面(コントロールパネル→管理ツール→データソース(ODBC))で、「読み取り専用接続」という設定がありますので、そこにチェックをすればOKだと思います。
その他の回答 (2)
- O_cyan
- ベストアンサー率59% (745/1260)
>リンクテーブルを読み取り専用にしたいと思っています。どのようにすれば良いでしょうか。 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)
Oracle側で読み取り専用ユーザを作成するというのが一般的ですが、それが最後の手段となると… リンクテーブルではなく、インポートしてはどうですか? 管理帳票の出力となると、一旦〆てからの作成になると思うので、不都合はないと思いますが… インポートの時間はかかるでしょうが、インポートするテーブルに必要なインデックスを作成すれば、処理時間は短くなりますよ。