遠端呼叫procedure可能會有一些缺陷!
測試過程:
1.首先連上庫db11檢視並測試了事先建立好的proc_test
C:>sqlplus xys/manager
SQL*Plus: Release 11.1.0.6.0 - Production on 星期三 4月 2 14:06:59 2008
Copyright (c) 1982, 2007, Oracle. All rights reserved.
連線到:
Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL> select text from user_source WHERE name='PROC_TEST';
TEXT
--------------------------------------------------------------------------------
procedure proc_test
is
v_count int ;
begin
select count(*) into v_count from tt;
dbms_output.put_line(v_count);
end;
已選擇7行。
SQL> set serveroutput on
SQL> exec proc_test;
4
PL/SQL 過程已成功完成。
SQL>
2.開另外一個session連上另外一個庫
E:oracleproduct10.2.0db_1BIN>sqlplus
SQL*Plus: Release 10.2.0.1.0 - Production on 星期三 4月 2 14:25:47 2008
Copyright (c) 1982, 2005, Oracle. All rights reserved.
連線到:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options
SQL> set serveroutput on
--db link是事先建立好的
SQL> select * from user_db_links;
DB_LINK USERNAME PASSWORD HOST CREATED
---------- ---------- ------------------------------ ---------- --------------
DBL XYS db11 01-4月 -08
--呼叫遠端過程發現並不能輸出資料,原因是遠端過程是要在遠端伺服器上執行的;因此透過呼叫遠端過程在某種情況下可能會存在一些缺陷。
SQL> exec ;
PL/SQL 過程已成功完成。
3. 那麼通常的做法是在本地建立過程來訪問遠端的物件(通常都是指表吧):
本地建立過程訪問遠端物件大致測試如下:
SQL> create or replace procedure proc_test
2 is
3 v_count int;
4 begin
5 select count(*) into v_count from ;
6 dbms_output.put_line(v_count);
7 end;
8 /
過程已建立。
SQL> exec proc_test;
4
PL/SQL 過程已成功完成。
SQL>
4. 既然遠端存在過程,而且過程最終肯定是在其所在的伺服器上執行,那麼我們可以直接連上遠端資料庫而執行過程,因此遠端呼叫過程的意義實在不是很大。
SQL> connect
已連線。
SQL> set serveroutput on
SQL> exec proc_test;
4
PL/SQL 過程已成功完成。
SQL>
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/19602/viewspace-1001798/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 程式碼注入之遠端呼叫執行緒的一些問題執行緒
- Metasploit遠端呼叫Nessus出錯
- 分散式系統:遠端呼叫分散式
- 遠端呼叫中介軟體(RPC)RPC
- RCF--RPC(遠端呼叫框架)RPC框架
- RabbitMQ 入門 - 遠端呼叫 (RPC)MQRPC
- Google遠端過程呼叫-GRPCGoRPC
- mybatis3呼叫瀚高procedure報錯MyBatisS3
- RPC(遠端過程呼叫)詳解RPC
- SpringCloud(一)微服務遠端呼叫 -- RestTemplateSpringGCCloud微服務REST
- Spring 呼叫 Stored Procedure 並獲取返回值Spring
- 向日葵遠端控制有風險嗎 向日葵遠端控制會不會洩露隱私
- Storm系列(五)DRPC實現遠端呼叫ORMRPC
- 徒手擼框架--實現 RPC 遠端呼叫框架RPC
- 蘋果遠端裝置管理服務DEP含有驗證缺陷蘋果
- Java使用HttpClient實現遠端服務呼叫JavaHTTPclient
- dubbo原始碼解析(三十)遠端呼叫——rest協議原始碼REST協議
- rabbitmq中文教程python版 - 遠端過程呼叫MQPython
- (2)什麼是服務拆分和遠端呼叫
- 面試官:物件可能會遲到,但它永遠不會缺席面試物件
- 121 TeamViewer 遠端支援、遠端訪問、線上協作和會議View
- 電腦遠端控制怎麼弄 學會遠端控制電腦
- Linux soft lockup時遠端除錯的可能性Linux除錯
- 如果呼叫遠端遠端url介面為https,且存在客戶端證書驗證,如何在客戶端處理HTTP客戶端
- CWE-369:Divide By Zero除數有可能為零缺陷是如何產生的?IDE
- 遠端會議的使用方法
- java通過url呼叫遠端介面返回json資料JavaJSON
- dubbo原始碼解析(三十一)遠端呼叫——rmi協議原始碼協議
- dubbo原始碼解析(三十二)遠端呼叫——thrift協議原始碼協議
- Rd遠端桌面是什麼?使用rd遠端桌面的方式有哪些
- 遠端連線軟體有哪些,遠端連線軟體有哪些值得推薦,如何使用?
- Spring HTTP invoker (spring框架中的一個遠端呼叫模型)SpringHTTP框架模型
- 小白的學習筆記——服務拆分和遠端呼叫筆記
- 內網部署遠端會議系統內網
- 華為雲windows遠端介面連線不上的可能原因Windows
- 搭建 VuePress 部落格,你可能會用到的一些外掛Vue
- 原始碼解讀: Vuex 的一些缺陷原始碼Vue
- vnc遠端控制軟體,vnc遠端控制軟體有什麼用,操作教程VNC
- 遠端連線軟體有哪些,遠端連線軟體有哪些能批次操控伺服器的伺服器