我想寫一個powershell腳本來幫助跨多個數據庫的一些用戶維護任務。如何從powershell執行PL/SQL包?
- 數據庫1包含了用戶ID和用戶類型(例如:員工,分包商等)
- 數據庫2包含有許多PL/SQL程序包和程序,我可以執行更新信息數據庫這個分貝。
這裏基本上是我想要在僞代碼中完成的工作,但是我對PL/SQL程序包和程序沒有太多經驗,特別是從PowerShell中。
是否有可能從powershell執行wwsec_api.set_defaultgroup過程?
SELECT userID FROM Database2.users
while (userID){
SELECT employeeType FROM Database1.users WHERE Database2.users.userID = Database1.users.userID
If employeeType = 'Employee' then
run Database2 PL/SQL package procedure wwsec_api.set_defaultgroup(ID, USER)
end if
}
這種方法可行,但有幾個問題(可能有解決方法?)我需要能夠安排它每天運行,並且能夠隨意運行它。此外,我需要能夠更新腳本/ SQL /程序和我們的DBA的保持數據庫鎖定(他們應該)相當不錯。如果我找不到從我的電腦上運行此操作的方法,我一定會走這條路。 – ProfessionalAmateur 2011-04-01 19:40:59
@專業業餘愛好者:您可以創建一個過程而不是匿名塊。然後,您可以隨時從SQL * Plus調用它,也可以使用DBMS_SCHEDULER進行調度。這正是PL/SQL所做的。如果您可以將代碼保存在服務器上,它可能會更快,更易於管理並且更安全。 – 2011-04-02 02:57:40