国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > Oracle > 正文

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

2024-08-29 13:38:03
字體:
來源:轉載
供稿:網友

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 淳化县| 五家渠市| 荥阳市| 积石山| 双柏县| 即墨市| 合山市| 龙江县| 博爱县| 黎平县| 阜城县| 常州市| 白山市| 定襄县| 马龙县| 大化| 乌兰县| 平江县| 嘉禾县| 平凉市| 始兴县| 黔东| 渑池县| 沙雅县| 杭锦旗| 阳春市| 拉萨市| 射洪县| 张家川| 大城县| 通化市| 岚皋县| 南皮县| 宁强县| 读书| 饶平县| 察哈| 城口县| 贵州省| 乌兰察布市| 永和县|