我有一个现有的测试应用程序。我的配置是Windows 10,APEX 19.1,Database Express 18.4
我尝试通过sqlplus导入应用程序:
> sqlplus
> User name: sys as sysdba
> Password: 1234
SQL>@install_KB.sql
然后我会收到很多以以下内容开头的错误:
apex_application_install.set_workspace_id (100101);
*
ERROR at line 9:
ORA-06550: line 9, column 3:
PLS-00201: identifier 'APEX_APPLICATION_INSTALL.SET_WORKSPACE_ID' must be
declared
ORA-06550: line 9, column 3:
PL/SQL: Statement ignored
ORA-06550: line 10, column 3:
PLS-00201: identifier 'APEX_APPLICATION_INSTALL.SET_APPLICATION_ID' must be
declared
...
我来自 install_KB.sql 的来源:
spool install-apex-KB.log
@@APEX/kb_apex_0.0.1.sql
@@DB/security_2.1.0.sql
spool off
和kb_ apex_0.0.1.sql 的来源:
declare
workspace_id number := 100101;
app_id number := 62305999;
app_owner varchar2(32) := 'test';
app_alias varchar2(32) := 'testapp';
begin
apex_application_install.set_workspace_id (workspace_id);
apex_application_install.set_application_id(app_id);
apex_application_install.set_schema(app_owner);
apex_application_install.set_application_alias(app_alias);
end;
/
@@kb_0.0.1.sql
我做错了什么?抱歉,答案很明显
答案 0 :(得分:1)
当我将应用程序从一个环境迁移到另一个环境时,我不使用任何“ apex_application_install”调用。我只是通过SQL * Plus作为与工作空间关联的用户/模式连接到数据库,然后运行导出的应用程序.sql文件(通过SQLcl导出)
我知道有时候您可能想要更改应用程序ID等,但是如果目标环境中的所有内容都相同,请保持简单。
导入脚本示例:here
要在SQL * Plus中将工作区分配给模式,可以使用以下示例,其中APEX_180200是APEX模式,而'ADAM' 是工作区。或登录到APEX的管理员端,然后转到“管理工作区” /“管理工作区到架构的分配”。请注意,在下面的示例中,我的工作区和架构都被命名为“ ADAM”。
sqlplus / as sysdba
...
SQL> ALTER SESSION SET CURRENT_SCHEMA = APEX_180200;
SQL> SELECT APEX_INSTANCE_ADMIN.GET_SCHEMAS('ADAM') FROM DUAL;
APEX_INSTANCE_ADMIN.GET_SCHEMAS('ADAM')
--------------------------------------------------------------------------------
ADAM
SQL>
管理GUI