【发布时间】:2022-08-20 09:54:17
【问题描述】:
我想使用 DBMS_DATAPUMP API 从多个模式中导出导入表。 EG user1.table1 user2.table2 user3.table3 我给表格一个参数,就像一个用逗号分隔的列表。 \'user1.table1,user2.table2,user3.table3\' 之后,我将表格列表存储在表格中。 然后我在游标中读取表的内容,并在游标中使用 LOOP 并一一给出模式和表名。
LOOP
dbms_datapump.metadata_filter(handle => h1, name => \'NAME_EXPR\', value => \'IN(\'table1\'));
dbms_datapump.metadata_filter(handle => h1, name => \'SCHEMA_LIST\', value => \'IN(\'user1\'));
END LOOP.
第一个表已成功添加到 dbms_datapump 作业,但第二个表退出并出现错误。
ORA-39071: SCHEMA_LIST 的值格式错误。 ORA-00936: 缺少表达式
我厌倦了寻找如何使用来自不同模式的 DBMS_DATAPUMP API 表进行 exp/imp 的解决方案,但我找到了任何示例。我发现的示例仅显示您是否来自一个模式的 exp/imp。 提前致谢
-
你实际上在执行什么?您发布的代码在语法上不正确。只需查看
\'和)字符即可。从用户创建开始的 MCV 示例不应花费很长时间来创建,也不应在您的问题中占用太多垂直空间。