我想运行一个 sqlcl 命令来导出每个应用程序,而不仅仅是一个。
Apex export # 工作得很好,但如果我尝试使用 apex export -instance 声明为“导出所有应用程序”,它表示应用程序导出需要一个应用程序 ID(数字)。
当我尝试任何其他形式的顶点导出而不是基本的导出时,也会发生同样的错误。
此外,它似乎不会在 SQL Workshop 下导出包、表、脚本等。我可以使用其他命令来执行此操作吗?
我的最终目标是从不同的工作区全部导入,以防改变我应该如何导入它。
我想运行一个 sqlcl 命令来导出每个应用程序,而不仅仅是一个。
Apex export # 工作得很好,但如果我尝试使用 apex export -instance 声明为“导出所有应用程序”,它表示应用程序导出需要一个应用程序 ID(数字)。
当我尝试任何其他形式的顶点导出而不是基本的导出时,也会发生同样的错误。
此外,它似乎不会在 SQL Workshop 下导出包、表、脚本等。我可以使用其他命令来执行此操作吗?
我的最终目标是从不同的工作区全部导入,以防改变我应该如何导入它。
可以在 sqlcl 中编写脚本并使用SCRIPT
关键字调用它们。这是从工作区“TEST”导出一些应用程序的示例:
ctx.write("Export for apex apps\n\n");
ctx.write("start\n\n");
var binds = {};
var exportstmt;
var objects = util.executeReturnList(
"SELECT application_id FROM apex_applications WHERE workspace = 'TEST' and rownum < 3"
,binds);
for (i = 0; i < objects.length; i++) {
ctx.write( objects[i].APPLICATION_ID + "\n");
exportstmt = 'apex export ' + objects[i].APPLICATION_ID;
ctx.write( exportstmt + "\n");
sqlcl.setStmt(exportstmt);
sqlcl.run();
}
ctx.write("end\n\n");
将上面的代码保存在一个文件中(例如“export_apps.js”)并在 sqlcl 中使用命令调用它SCRIPT export_apps.js
。