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

首頁 > 數據庫 > Oracle > 正文

用Windows腳本宿主自動化Oracle工具

2024-08-29 13:50:53
字體:
來源:轉載
供稿:網友
隨著新版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)而不是每次導入一個文件。


上一篇:審計并報告Oracle數據庫中用戶活動

下一篇:Oracle中PL/SQL編程對系統性能的影響

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
學習交流
熱門圖片

新聞熱點

疑難解答

圖片精選

網友關注

主站蜘蛛池模板: 昭平县| 平潭县| 南汇区| 隆回县| 江北区| 日照市| 翁源县| 永修县| 永安市| 鄂州市| 滕州市| 汉沽区| 开阳县| 衡东县| 甘肃省| 黑山县| 呼玛县| 内黄县| 当阳市| 秭归县| 乌拉特后旗| 耿马| 嘉黎县| 嘉祥县| 濉溪县| 行唐县| 龙门县| 桃园县| 江门市| 晴隆县| 蒙城县| 固原市| 梧州市| 拉萨市| 襄樊市| 呼伦贝尔市| 利津县| 阿图什市| 穆棱市| 页游| 乌拉特中旗|