我想寫一個將DDL命令從某個模式寫入文件的SQL過程到服務器上的導演。我使用spool命令完成該操作並將其保存在本地,但每次運行時都需要在服務器上使用它。 我正在使用Oracle RDBMS。將DDL導出到服務器上
-1
A
回答
0
DBMS_METADATA可以是你的朋友。使用其過程GET_DDL()可以爲您提供DDL腳本。您可以使用UTL_FILE將其寫入「Oracle DB目錄」(這是確切的Oracle對象)。
或者您可以使用外部腳本連接到數據庫,使用DBMS_METADATA爲您提供DDL。
在這些情況下,您需要與選擇USER_OBJECTS腳本它(或全部/ DBA對象)等
或者你也可以使用第三方工具,如如。 Oraschemadoc是。
0
這將導出當前模式中所有對象的ddl。
CREATE OR REPLACE PROCEDURE ddl_import
IS
file_ctl UTL_FILE.FILE_TYPE;
CURSOR object_cv IS
SELECT OBJECT_NAME,OBJECT_TYPE FROM USER_OBJECTS;
code VARCHAR2(10000);
BEGIN
FOR cur in object_cv
LOOP
file_ctl:=UTL_FILE.FOPEN('ORADIR',cur.object_name||'.sql','W');
code:=DBMS_METADATA.GET_DDL(CUR.OBJECT_TYPE,CUR.OBJECT_NAME,'ORATUT');
UTL_FILE.PUTF(file_ctl,code);
UTL_FILE.FCLOSE(file_ctl);
END LOOP;
END ddl_import;
但你編譯和執行之前此過程確保你做以下步驟事情。
STEP1:在主機(OS)環境中創建目錄,並將READ/WRITE授予給oracle用戶。
STEP2:執行CREATE OR REPLACE DIRECTORY ORADIR AS'D:/ dir_name'; dir_name是您在步驟1中創建的目錄的名稱。
第3步:請求您的DBA授予您對UTL_FILE的執行權限。或者,如果您擁有DBA的憑據,那麼請執行以下命令 - 授予UTL_FILE TO用戶名的EXECUTE執行權限; user_name當然是你。
0
1)以下描述如何爲模式提取ddl。 Extract whole schema
我們必須改變
-- add
dest_clob clob;
-- change
DBMS_OUTPUT.PUT_LINE (DDL);
to
DBMS_LOB.APPEND (dest_clob, DDL);
末
DBMS_XSLPROCESSOR.CLOB2FILE(dest_clob,dest_directory, my_schema.sql)
的dest_directory是Oracle Directory具有讀/寫權限
相關問題
- 1. 將sql服務器表導出到xml
- 2. 將檢票導出到Web服務器
- 3. 將sql ddl文件導入Microsoft SQL服務器
- 4. Highcharts將服務器部署導出到服務結構
- 5. 將Bean從一臺JMX服務器導出到另一臺JMX服務器
- 6. 如何將glassfish服務器的設置導出到另一個glassfish服務器?
- 7. 導出localhost wordpress到活服務器
- 8. SQL服務器導出到Excel與OPENROWSET
- 9. 保存CSV導出到服務器
- 10. nodejs服務器無法導出服務
- 11. 導出DDL的SQL查看器
- 12. 將證書導入到VisualSVN服務器
- 13. Java將csv從服務器導出到可能不在同一個服務器上的客戶端OS
- 14. 使SSIS導出到Excel服務器上的包工作
- 15. 保存/上傳導出的文件到服務器
- 16. 將映射導出或複製到新的CI服務器
- 17. SQL Azure將數據庫導出到自己的服務器
- 18. 如何將表導出到mysql服務器?
- 19. 如何將Excel數據定期導出到SQL服務器
- 20. 如何將Eclipse 3.5服務器導出到Eclipse 3.6
- 21. 無需服務器端安裝將數據導出到Excel
- 22. 將本地Deployd的數據導出到在線服務器
- 23. 將oracle數據庫導出到另一臺服務器
- 24. 將EC2實例導出到Xen服務器
- 25. 將數據導出到多個Excel服務器端
- 26. WordPress的類型插件:將本地conf導出到服務器
- 27. 如何將SSL證書從Azure導出到本地服務器?
- 28. 將SQL服務器數據導出到CSV文件
- 29. 如何將portractor報告導出到遠程服務器
- 30. 將Domino服務器的kyr密鑰導出到PEM或PKCS12
有你'UTL_FILE'試過嗎? –
你可以創建一個執行你的程序的shell腳本,然後將新創建的文件移動到你想要放置它的服務器上 – Sandeep
你確定你沒有用'content = metadata_only'選項重新設計DataPump嗎? – APC