你無法開箱即用.
除了工作區ID之外,應用程式ID也很重要.如果您有2個不同的工作區和相同的應用程式但具有不同的ID,則這會使事情變得更加複雜.
您可以随時執行的操作是導出整個應用程式,導入它但使用不同的ID,這樣您就不會覆寫現有的應用程式,然後建立一個新頁面作為新導入的應用程式頁面的副本.
Antoher的方式是編輯導出的PAGE SQL檔案,但是,我要強調這一點,不建議這樣做.正如在OTN論壇中如此慷慨地陳述,如果你需要支援應用程式/頂點問題,他們會發現你在sql檔案中亂七八糟,你不會得到支援.隻有當你了解并知道你将要做什麼時才這樣做!如果您在不了解自己正在做的事情的情況下更改代碼,則可能會比您開始時的情況更糟糕.在任何其他情況下,請按照應用程式導出/導入/複制行進行操作.
無論如何,我所處的工作區ID不同,但應用程式ID不同.在這種情況下,更改導出的檔案非常簡單,隻需要編輯1(一)行,并且需要關注這段代碼:
begin
-- Assumes you are running the script connected to SQL*Plus as the Oracle user APEX_040200 or as the owner (parsing schema) of the application.
wwv_flow_api.set_security_group_id(p_security_group_id=>nvl(wwv_flow_application_install.get_workspace_id,27000294100083787867));
end;
/
這是導出的頁面檔案中的第一批代碼之一.如您所見,工作區ID在此處設定.如果嘗試導入應用程式(即使應用程式ID與您嘗試導入的應用程式ID比對),您也會收到錯誤消息.然後将ID更改為與工作區比對的ID,它将起作用.當然,您需要知道工作區ID,并且可以通過在apex環境中執行此選擇來找到它們(s?)
select workspace, workspace_display_name, workspace_id from apex_workspaces
一些好建議:如果您仍處于apex安裝的啟動階段,則可能需要確定工作區ID相同.例如,具有相同工作空間和應用程式ID的測試和生産環境非常有趣.您将有2個執行個體(在2個不同的伺服器上安裝2個資料庫),但希望ID相同.要確定這一點,您可以從一個環境導出工作區,然後将其導入另一個環境.您可以從頂點中的執行個體管理(即内部工作區)執行此操作.