本空间收录 snow 的一些技术日记。 如果喜欢音乐的朋友请前往 snow 另一个空间 http://snowhite2000.itpub.net

MS ACCESS 通过 ODBC link Oracle Table 列表的问题

上一篇 / 下一篇  2008-04-04 23:03:07 / 个人分类:Oracle Database

还是有用户喜欢用 MS ACCESS 通过 ODBC 连 Oracle 数据库,修正数据。

对于一般比较高级的授权用户,这样做,我们是允许的。我们会去安装 ODBC 在 Client 端,帮助设置好,建立 ODBC。这些不细说。关于 ODBC driver -- 驱动程序,只有一点需要注意的地方,如果升级了 Oracle 的服务器端,ODBC 驱动程序所在的客户端也要升级。旧的 ODBC 驱动程序不能再使用。比方如果数据库升级到了10g Client 端也要升级到 10g client。 deinstall/reinstall 这件事多少有些麻烦。

现在说到用 MS ACCESS 通过 ODBC 链接 Oracle 的数据。

1. 先要在 Client 上面装上 Oracle ODBC 驱动程序。 Oracle Client  CD 上面自带。可以选用 custom 的方式安装;

2. 在 control panel  --> Administrative Tools --> Data Source (ODBC). 在 User DSN 或者 System DSN 下面建立一个新的 data source,主要是要连接的数据库信息。(别忘了这是在 TNS/Oracle Network  工作的前提之下)

3. 在 MS ACCESS 数据库里面,file --> get external data --> link tables  --> ODBC database  --> 选建立好的  data source 或者新建。

但是问题来了,下面一个步骤,会弹出来一个窗口,列出来可以允许ODBC data source 的那个用户连接的所有 table。这个时候,你可能一个 table 都看不到,或者能看到太多的 tables 了。

怎样限制 ODBC 列表出来的可以在 MS ACCESS 中看到的 oracle 表呢?只要在 ODBC 连接用户的 schema 下面建立两个 view 就可以控制了,比方:

    CREATE OR REPLACE VIEW SCOTT.ALL_OBJECTS AS
      SELECT * FROM SYS.ALL_OBJECTS
      WHERE OWNER IN ('SCOTT');

    CREATE OR REPLACE VIEW SCOTT.ALL_SYNONYMS AS
      SELECT * FROM SYS.ALL_SYNONYMS
      WHERE OWNER IN ('SCOTT');


TAG:

 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

Open Toolbar