Oracle11g 通过DBLINK的外部表

Oracle11g 通过DBLINK的外部表,oracle11g,dblink,external-tables,Oracle11g,Dblink,External Tables,我试图通过DBLINK在外部表上选择一组数据。但是,我得到了以下错误: ORA-06564:对象MY_EXTERNAL_DIR不存在ORA-02063:来自foo的前一行 foo是我的远程数据库链接。不,那张光盘上没有目录。。此目录位于远程数据库上 我已经在本地数据库上创建了一个视图,并试图远程访问它,但没有任何帮助 我是在浪费时间吗 谢谢。我已经测试过了,可以通过数据库链接访问外部表。我认为,如果要连接db链接的用户不是拥有外部表的用户,则需要向该用户授予(oracle数据库对象)目录的读写权

我试图通过DBLINK在外部表上选择一组数据。但是,我得到了以下错误:

ORA-06564:对象MY_EXTERNAL_DIR不存在ORA-02063:来自foo的前一行

foo是我的远程数据库链接。不,那张光盘上没有目录。。此目录位于远程数据库上

我已经在本地数据库上创建了一个视图,并试图远程访问它,但没有任何帮助

我是在浪费时间吗


谢谢。

我已经测试过了,可以通过数据库链接访问外部表。我认为,如果要连接db链接的用户不是拥有外部表的用户,则需要向该用户授予(oracle数据库对象)目录的读写权限

假设您有一个用户
bob
,该用户在远程数据库
xtern\u data\u dir
目录中拥有一个名为
ext\u tab
的工作外部表,并且您希望通过远程用户
jim

CREATE USER jim IDENTIFIED BY "passwd";

GRANT CREATE SESSION to jim;

GRANT SELECT ON bob.ext_tab TO jim;

GRANT READ, WRITE ON DIRECTORY xtern_data_dir TO jim;
在本地数据库上创建指向
jim
dbr

CREATE DATABASE LINK dbr CONNECT TO jim IDENTIFIED BY "passwd" USING 'DBR';
现在,选择将起作用

SELECT * FROM bob.ext_tab@DBR;
@朗克,谢谢你

我几乎可以肯定,远程访问外部桌子是不可能的。直到你发帖!:)

我已经成功地选择了我的数据,这一个很有帮助

GRANT ALL ON DIRECTORY MY_DIRECOTY TO PUBLIC;

你能告诉我你是怎么选的吗。发布您的select语句。当然,请从我的_table@fooThat将完成任务,但给每个人在数据库服务器上的目录上的所有权限通常是一个严重的安全风险,最好避免。