熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Oracle >> 正文

使用 Window 腳本宿主自動化 Oracle 工具

2013-11-13 15:55:33  來源: Oracle 

  隨著新版Windows 操作系統的發布命令提示符距離用戶越來越遙遠了但是 Oracle 所附帶的多數主要服務器工具依然是基於命令行的程序所以完成簡單的任務變得俞發困難了
   
  然而新版的 Windows 提供一個叫做 Windows 腳本宿主的工具該工具可以通過執行腳本(JScript 或者 Visual Basic Script)來自動化這些任務一些其它的數據庫環境依賴這些腳本完成很多在 Windows 環境下 Oracle 用戶不能完成的任務
  
  有很多資源教我們使用 Windows 腳本宿主的方法在本文中我將局限於一個特定的例子自動化 Oracle 導入(import)工具從而能夠導入多個文件並提供命令行的語法
  
  為了執行導入程序我需要創建一個名為WScriptShell的 COM 對象對於執行腳本所需要的每個命令行參數我簡單地使用給定的參數構造出命令行並使用 WScriptShell 的 Run方法來執行
  
   VBScript (droppervbs)
  Set WshShell = WScriptCreateObject(WScriptShell)
  For Each arg in WScriptArguments
     Note imp needs single quotes around filenames with spaces
    CmdString = imp userid=scott/tiger file= & arg & rows=y ignore=y
    ReturnCode = WshShellRun(CmdStringTrue)
  Next
  
  // Jscript (dropperjs)
  var WshShell = WScriptCreateObject(WscriptShell);
  for (i=;i  {
    // Note "imp" needs single quotes around filenames with spaces
    var arg = WScript.Arguments.Item(i);
    var CmdString = "imp userid=scott/tiger file='" + arg + "' rows=y
   ignore=y";
    var ReturnCode = WshShell.Run(CmdString,1,true);
  }
  
  雖然這段腳本外表看起來只是簡單地改進功能——即在沒有輸入用戶名、口令或者命令行參數的情況下列出多個文件——但其實提供了更多的功能。tW.wINgWIt.cOM在 Windows 中,當你選擇一個對象並將其拖放到一些可執行程序(像 VBScript 或者 JScript)之上時,文件就會以命令行參數所選擇的文件名執行。因此你可以選擇一個 Oracle 導出文件然後使用鼠標將其拖入到腳本上,腳本就會自動地對這些文件運行“imp”。也就是說腳本可以允當一個支持拖放的能夠裝數據導入到數據庫的小程序。這樣對於那些習慣於 Windows 環境多過命令提示符的用戶來說這個方式要友好地多。
  
  你還可以把這個腳本擴展,比如說檢查文件的擴展名,對於“.dmp”文件執行“imp”,而對於“.sql”文件使用相同的用戶賬號執行“sqlplus”。你可能還想要編寫腳本訪問數據庫來自動地將文件裝載到 Blob 或者 XML 庫,或者為了保密隱藏用戶名和口令。最後,你可以修改 Run命令來隱藏控制台窗口,防止其在運行的時候跳出,或者說並行地運行導入(import)而不是每次導入一個文件。
  
  --------------------------------------------------------------------------------  --------------------------------------------------------------------------------

From:http://tw.wingwit.com/Article/program/Oracle/201311/17526.html
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.