みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

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

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

なお、Oracle側で読み取り専用ユーザを作成して、そのユーザでリンクすれば良いことは理解していますが、それは最後の手段にしたいと思っています。別の方法でうまくできないでしょうか。

投稿日時 - 2006-08-08 10:23:23

QNo.2326664

すぐに回答ほしいです

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

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

投稿日時 - 2006-08-22 20:13:53

ANo.3

このQ&Aは役に立ちましたか?

4人が「このQ&Aが役に立った」と投票しています

回答(3)

ANo.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

投稿日時 - 2006-08-08 12:05:30

ANo.1

Oracle側で読み取り専用ユーザを作成するというのが一般的ですが、それが最後の手段となると…

リンクテーブルではなく、インポートしてはどうですか?
管理帳票の出力となると、一旦〆てからの作成になると思うので、不都合はないと思いますが…

インポートの時間はかかるでしょうが、インポートするテーブルに必要なインデックスを作成すれば、処理時間は短くなりますよ。

投稿日時 - 2006-08-08 10:29:31

あなたにオススメの質問