呼叫遠端procedure的2個問題
呼叫遠端procedure的2個問題
昨天小組的開發人員在做一個專案的etl時候,問了關於呼叫遠端procedure的問題,如下:
問題一:因在etl中,第一步就需要執行遠端db上的一個procedure,是否可以在本地db
的procedure上呼叫遠端某一db上的procedure?
答:二臺db建dblink後,可在本地procedure中呼叫,用procedure_name@dblink_name 即
可,在sqlplus中,直接用exec procedure_name@dblink_name。
注:建dblink的使用者要擁有execute 該過程的許可權
問題二:有多個遠端db需要做上面的事情,是否可以在本地procedure中傳遞dblink引數,
根據dblink引數來確定呼叫哪一個遠端db的過程?
答:可以,需要用到動態sql語句,在procedure中呼叫如下sql語句,
Execute Immediate 'select '' procname@' ||v_dblink ||''' from dual' Into v_sql;
Execute Immediate 'begin '||v_sql||'; end;';
或者乾脆不要上面的第一條sql拼裝語句,直接用下面的一條語句
Execute Immediate 'begin '||' procname @' ||v_dblink||'; end;';
注意:如果直接用後面的語句會報錯的
Execute immediate ‘procedure_name@’||v_dblink_name,
注意:建dblink的使用者要擁有execute 該過程的許可權
其中v_dblink 為過程傳遞的引數,procname為實際的過程名,這樣可以再寫一個過
程來呼叫這個過程,通過不同的dblink引數來呼叫不同地方的過程,這樣既可以使程式碼
統一,也滿足了基本的模組化需求。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10159839/viewspace-151167/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 遠端呼叫procedure可能會有一些缺陷!
- 使用遠端控制操作遠端xp sp2的問題
- ABAP FUNCTION 遠端呼叫的一個引數Function
- 程式碼注入之遠端呼叫執行緒的一些問題執行緒
- Java遠端呼叫Java
- 遠端連線問題
- discuz雲平臺報呼叫遠端介面失敗的問題分析和解決
- xfire 客戶端呼叫webservice的問題客戶端Web
- java遠端呼叫(rmi)常見的兩個錯誤Java
- (2)什麼是服務拆分和遠端呼叫
- linux遠端訪問問題薦Linux
- 關於packages中多個同名程式(procedure)的呼叫Package
- 比較好用的遠端軟體 及時解決遠端問題
- Tomcat6遠端呼叫GlassFish V2的session beanTomcatSessionBean
- 遠端執行緒注入引出的問題執行緒
- java遠端提交表單問題Java
- VSCode遠端連線其他主機的WSL2的問題VSCode
- 訪問jboss上EJB遠端介面問題
- 板橋及各位高手,幫我看看遠端呼叫這個難題,非常感謝。
- oracle 中呼叫 store procedureOracle
- 對於MySQL遠端連線中出現的一個問題總結MySql
- 一個ssh無法遠端登入的問題跟蹤解決
- 一個關於SessionBean呼叫的問題。SessionBean
- rdpclip 遠端桌面協議常遇到的問題協議
- 解決mysql不能遠端連線的問題MySql
- 使用EJB遠端介面帶來的效能問題
- Metasploit遠端呼叫Nessus出錯
- 遠端呼叫 - spring+rmiSpring
- 分散式系統:遠端呼叫分散式
- 遠端培訓播放問題處理
- 求助bangjava遠端提交表單問題Java
- aix 遠端登陸緩慢問題AI
- 關於sun Solaris的遠端拷貝的問題
- phpcms—— 內容中的附件呼叫和新增遠端地址的呼叫PHP
- Spring HTTP invoker (spring框架中的一個遠端呼叫模型)SpringHTTP框架模型
- Struts2中Action動態呼叫DMI出現的一個問題
- bbossaop遠端服務介紹-遠端服務呼叫例項
- Linux 常見問題 - 拒絕遠端訪問Linux