使用 ant 执行使用位于 2 个不同 Oracle 模式中的表的 SQL

Posted

技术标签:

【中文标题】使用 ant 执行使用位于 2 个不同 Oracle 模式中的表的 SQL【英文标题】:Use ant to execute SQL that uses tables that reside in 2 different Oracle schemas 【发布时间】:2015-03-31 15:39:11 【问题描述】:

我必须自动执行一个使用位于两个不同 Oracle 模式中的表的 sql 脚本。有人建议我使用 ant 来完成这项任务。真的可以用蚂蚁做到这一点吗?目前,我们正在使用 SQL 开发人员来完成这项任务。

SQL 任务如下所示: 更新 schema1.table1 jb 设置 jb.id=值 jb.another_id 在哪里(选择 wrd.proc_inst_id_ 来自 schema1.table2 wrd wrd.long_ in (一组值));

其中值由 schema1 中的表上的 select 确定 一组值是通过从 schema2 中的表上选择来确定的

这两个模式驻留在同一个 Oracle 实例中。

【问题讨论】:

您在答案中尝试了我的建议吗?我编辑了我的答案。 谢谢拉利特,授予权限可以解决问题。另一种方法是创建数据库链接。 好的,感谢您的反馈。请将答案标记为已回答,这将有助于其他人寻找类似的解决方案。 顺便说一下,两个模式之间不需要dblink,两个不同的数据库之间需要它。您没有提到它们是不同的数据库。你所说的只是它们是不同的模式。 【参考方案1】:

目前,我们正在使用 SQL developer 来完成这项任务。

无论您使用何种工具,您只需要 PRIVILEGE 即可访问/操作不同 SCHEMAS 中的 TABLES。无论您是在桌面上执行 SELECT 还是任何 DML,您的问题都没有详细说明。所以,我没有深入了解细节。

例如,仅对表进行选择,您需要授予选择权限:

GRANT SELECT ON table_name to user_name

同样,要对其他架构中的表执行任何类型的 DML,您需要向用户授予所需的权限..

如果您有权限,您只需按以下方式访问表:

SCHEMA_NAME.TABLE_NAME

【讨论】:

以上是关于使用 ant 执行使用位于 2 个不同 Oracle 模式中的表的 SQL的主要内容,如果未能解决你的问题,请参考以下文章

使用 JDBC 连接位于同一服务器上不同数据库中的 2 个 Oracle 表中的数据

oracl sql developer使用

如何使用 Ant 删除除最新的 2 个文件之外的所有文件

从Windows下的ANT脚本创建RPM包

oracl 不同数据类型之间的显示转换

Ant属性文件