精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

Oracle數據庫中程序設計的語言有哪些

數據庫 Oracle
以下的文章主要介紹的是在Oracle數據庫如何使用PL/SQL來操作COM的對象,以下就是文章的具體內容的描述,希望你在瀏覽完之后會有所收獲。 。

PL/SQL是由Oracle公司對標準SQL進行擴展,專用于Oracle數據庫中程序設計的專用語言,屬第三代過程式程序設計語言。從Oracle8開始提供了直接從PL/SQL中調用外部C語言過程,允許開發人員用PL/SQL進行使用C語言編制的程序模塊。從Oracle8i開始,又引入了Java程序。

 

在本文中主要介紹外部例程的基本原理以及使用條件,介紹如何通過引用外部例程來操作Windows中的COM對象,并做了一個操作Excel對象的示例。

本文的運行環境全部建立在Oracle9i和Windows2000。其中ORACLE的安裝目錄(ORACLE_HOME)為D:oracleora92,SID為ORADB,主機名為CHANET。

必要性

擴展后的PL/SQL語言已經集成了標準SQL,在效率和安全上非常適合設計Oracle數據庫程序,但對于應用的某些功能,其它的程序設計語言比PL/SQL更適合,如:使用操作系統資源,C語言在計算和引用系統對象及使用設備上優于PL/SQL,而Java語言在網絡上的應用優于PL/SQL。

 

如果在應用上要用到不適合用PL/SQL語言的話,這時就要使用其它語言進行編制,然后由PL/SQL作為外部例程進行調用。

在Oracle8之前的版本,PL/SQL和其它語言的唯一通信是借助于DBMS_PIPE和DBMS_ALERT包來實現,在使用之前必需建立一個OCI接口或預編譯器編制的監護程序,使用比較復雜。外部例程的出現,只需在PL/SQL中建立一個函數映射到外部例程對應的函數,就像普通的PL/SQL函數使用一樣,簡化了使用過程。

基本原理

當引用外部C語言例程時,Oracle監聽器將啟動extproc進程,該進程將會動態地載入共享庫(在Windows下稱為動態鏈接庫,即是DLL文件),進程起了一個緩沖的作用,當PL/SQL過程調用外部函數時,進程把命令發送到共享庫,之后把結果返回給PL/SQL過程。

 

進程被調用后隨著共享庫的使用會話(session)而存在,如果調用完畢或者關閉數據庫用戶會話,extproc進程會自動關閉。

使用配置

 

在調用外部例程之前,必需進行如下設置:

 

·配置監聽器

·配置Net組件服務。

 

配置監聽器,打開D:oracleora92networkadminlistener.ora 文件,修改文件參數。

 

 

  1. LISTENER =   
  2. (DESCRIPTION_LIST =   
  3. (DESCRIPTION =   
  4. (ADDRESS_LIST =   
  5. (ADDRESS = (PROTOCOL = TCP)(HOST = CHANET)(PORT = 1521))   
  6. )   
  7. (ADDRESS_LIST =  
  8. (ADDRESS = (PROTOCOL = IPC)(KEY = extproc1))   
  9. )   
  10. )   
  11. )   
  12. SID_LIST_LISTENER =   
  13. (SID_LIST =   
  14. (SID_DESC =   
  15. (SID_NAME = PLSExtProc)   
  16. (ORACLE_HOME = D:oracleora92)   
  17. (PROGRAM = extproc)   
  18. )   
  19. (SID_DESC =   
  20. (GLOBAL_DBNAME = ORADB)   
  21. (ORACLE_HOME = D:oracleora92)   
  22. (SID_NAME = ORADB)   
  23. )   
  24. )  

 

 

其中有兩部份參數對于使用外部例程是很重要的。

 

 

  1. ·(ADDRESS_LIST = (ADDRESS = (PROTOCOL = IPC)(KEY = extproc1)) 

 

設置基于IPC協議的外部例程

 

  1. ·(SID_DESC =(SID_NAME = PLSExtProc) (ORACLE_HOME = D:oracleora92) (PROGRAM = extproc) ) 

 

記錄Oracle數據庫的相關屬性,SID_NAME在默認的情況下是PLSExtproc。

配置Net組件服務,打開D:oracleora92networkadmintnsnames.ora文件,把如下內容保存在該文件里。

 

  1. EXTPROC_CONNECTION_DATA =   
  2. (DESCRIPTION =   
  3. (ADDRESS_LIST =   
  4. (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))   
  5. )   
  6. (CONNECT_DATA =   
  7. (SID = PLSExtProc)   
  8. (PRESENTATION = RO)   
  9. )   
  10. )  

 

 

重要參數說明:

 

 

  1. ·(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))   
  2. ·(CONNECT_DATA = (SID = PLSExtProc) (PRESENTATION = RO

 

 

兩設置必需與listener.ora里的一致。

重啟監聽器,并測試服務是否可用。

 

停止監聽器:lsnrctl stop

 

啟動監聽器:lsnrctl start

 

測試服務是否可用:

 

  1. C:>tnsping EXTPROC_CONNECTION_DATA   
  2. TNS Ping Utility for 32-bit Windows: Version 9.2.0.1.0 - Production on 07-4月 -2   
  3. 005 16:57:00   
  4. Copyright (c) 1997 Oracle Corporation. All rights reserved.  

 

 

已使用的參數文件: D:oracleora92networkadminsqlnet.ora

 

已使用 TNSNAMES 適配器來解析別名

 

  1. Attempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = IPC)   
  2. (KEY = EXTPROC1))) (CONNECT_DATA = (SID = PLSExtProc) (PRESENTATION = RO)))  

 

 

OK(30毫秒)

 

測試extproc進程是否正常:

D:oracleora92bin>extproc

 

Oracle Corporation --- 星期四 4月 07 2005 17:37:18.968

 

Heterogeneous Agent Release 9.2.0.1.0 - Production

 

4、使用COM對象說明

COM對象設計都會提供了三個基本操作給開發人員使用,分別為:獲取屬性值,設置屬性值(只讀屬性除外),調用方法。Oracle數據庫在Windows的平臺下提供了操作COM對象的接口,屬于C語言外部例程模式。

 

在使用該功能之前,需明白如下內容:

 

1) 創建COM對象操作函數。

 

  1. SQL> CONNECT SYSTEM/chanet@oradb   
  2. SQL> CREATE USER chanet identified by chanet;   
  3. SQL> GRANT CREATE LIBRARY TO chanet;   
  4. SQL> CONNECT chanet/chanet@oradb;   
  5. SQL> @D:oracleora92comcomwrap.sql; 

 

 

2)配置監聽器。

在listener.ora文件里,添加如下內容,并重啟監聽器。

 

 

  1. STARTUP_WAIT_TIME_LISTENER = 0   
  2. CONNECT_TIMEOUT_LISTENER = 10   
  3. TRACE_LEVEL_LISTENER = off   
  4. PASSWORDS_LINTENER = (oracle) 

 

 

3) PL/SQL數據類型與對應的COM對象類型

表1-1數據類型比較

 

PL/SQL數據類型 COM API 數據類型

 

 

  1. VARCHAR2 BSTR   
  2. BOOLEAN BOOL   
  3. BINARY_INTEGER BYTE,INT,LONG   
  4. DOUBLE PRECISION DOUBLE,FLOAT,CURRENCY   
  5. DATE DATE 

 

 

4) 函數說明。

表1-2函數說明

 

名稱 功能描述

CreateObject 創建對象

 

DestroyObject 關閉對象

 

GetLastError 獲取錯誤信息

 

GetProperty 獲取屬性值

 

SetProperty 設置屬性值

 

InitArg 為Invoke函數初始化參數

 

InitOutArg 為GetArg初始化輸出參數

 

GetArg 獲取輸出參數

 

SetArg 為Invoke函數設置參數

 

Invoke 調用COM對象的函數或過程

 

5) 操作Excel示例

 

本節介紹如何操作COM對象(以Excel對象為例),將Oracle數據庫里的表記錄通過PL/SQL語句輸出成Excel文件。通過對象瀏覽器可以查看Excel對象提供的屬性和方法。(如:在Excel菜單,工具 -> 宏 -> 打開Visual Basic編輯器,在編輯器里,視圖 -> 對象瀏覽器)。

使用Excel對象一般針對單元格進行操作(如,設置第一個單元格字體大小的代碼為:Range("A1").Font.Size = 20)。對應的COM外部例程操作的步驟為:

1、獲取程序句柄;

2、獲取工作簿句柄;

 

3、獲取工作表句柄;

 

4、獲取Range區句柄;

 

5、獲取Font類句柄;

 

6、設置Size屬性。

 

【編輯推薦】

  1. Oracle11g認證考試的3個主要途徑
  2. Oracle存儲過程的編寫經驗總結
  3. Oracle SQL的優化的規則描述
  4. Oracle SQL的優化規則解析
  5. 深入高性能的Oracle動態SQL開發

 

責任編輯:佚名 來源: 互聯網
相關推薦

2010-04-22 12:15:30

Oracle數據庫

2010-04-22 09:42:00

2010-05-04 14:20:47

Oracle創建數據庫

2010-05-19 17:35:35

2010-04-21 14:11:56

Oracle數據庫

2010-05-07 17:56:10

Oracle數據庫安全

2010-04-22 17:27:04

Oracle數據庫

2010-04-12 15:53:09

Oracle

2010-04-15 10:34:16

Oracle程序開發

2011-04-12 10:59:46

Oracle數據庫

2017-10-20 14:35:38

數據庫設計原則

2009-11-11 10:01:56

ADO.NET程序設計

2020-08-03 11:52:31

Oracle數據庫

2010-04-19 15:09:10

Oracle數據庫

2010-08-12 15:31:07

DB2數據庫

2009-11-13 16:35:39

ADO.NET程序設計

2011-08-25 10:35:14

Lua語言函數

2010-07-05 14:04:00

SQL Server

2010-04-13 10:42:08

Oracle數據庫
點贊
收藏

51CTO技術棧公眾號

66久久国产| av一区在线| 成人午夜精品一区二区三区| 97视频在线观看免费| 亚洲第一成人网站| 欧美亚洲综合视频| 亚洲成人自拍网| 日韩亚洲视频| 国产a级免费视频| 宅男噜噜噜66国产日韩在线观看| 伊人久久久久久久久久久久久| 三级性生活视频| 色综合亚洲图丝熟| 亚洲人成亚洲人成在线观看图片| 精品视频第一区| 国产乱码久久久久| 久久国产精品99国产| 久久av在线看| 丁香激情五月少妇| a级日韩大片| 欧美日韩亚洲综合一区 | 国产香蕉在线观看| 久久久亚洲人| 久久久久九九九九| 9.1片黄在线观看| 欧美国产极品| 日韩一区二区电影网| 亚洲老女人av| 性爽视频在线| 亚洲国产你懂的| 色哺乳xxxxhd奶水米仓惠香| 国产最新视频在线| 成人综合在线观看| 91精品国产一区二区三区动漫| www.伊人久久| 亚洲高清不卡| 欧美高清一级大片| 日韩在线一卡二卡| 精品国产一区二区三区四区| 日韩精品中文字幕在线播放| 日批视频免费看| 欧美电影院免费观看| 日韩区一区二| 99热在线成人| 亚洲美女在线视频| 亚洲激情 欧美| 亚洲日本va| 欧美一二三区在线| 日本在线观看视频一区| www.久久草.com| 欧美久久久久久久久| 日韩av片网站| 国精品产品一区| 精品视频一区二区三区免费| 超碰影院在线观看| 日韩大尺度黄色| 91九色最新地址| 男人女人黄一级| av在线日韩| 欧美三日本三级三级在线播放| 国产成人亚洲精品无码h在线| 中文在线аv在线| 欧美性69xxxx肥| 不卡影院一区二区| 经典三级一区二区| 欧美日韩在线不卡| 日韩va在线观看| 嫩呦国产一区二区三区av| 日韩一区二区三区四区 | 粉嫩一区二区三区在线看| 91亚洲精华国产精华| 国产福利第一视频| 成人黄色av电影| 精品久久久久久一区二区里番| 亚洲欧美日本在线观看| 久久久99精品久久| 亚洲人成网站在线观看播放| 免费在线观看av| 亚洲乱码中文字幕| 国产欧美日韩网站| 国产免费不卡| 欧美年轻男男videosbes| 999热精品视频| 欧洲在线一区| 色噜噜国产精品视频一区二区| 亚洲AV成人无码精电影在线| 欧美特黄一级| 日本高清视频一区| 国产精品视频无码| 丁香婷婷综合激情五月色| 欧美一卡2卡3卡4卡无卡免费观看水多多| av在线电影观看| 亚洲自拍偷拍图区| 99热成人精品热久久66| 精品亚洲二区| 国产视频亚洲视频| 欧美成人免费看| 男女精品网站| 999热视频| 国产高清美女一级毛片久久| 亚洲精品视频自拍| 久久久久狠狠高潮亚洲精品| 超碰国产精品一区二页| 日韩精品欧美国产精品忘忧草 | 久久国产劲爆∧v内射| 国产不卡一二三区| 欧美精品制服第一页| 在线永久看片免费的视频| 国产福利精品导航| 亚洲成人午夜在线| 福利在线免费视频| 欧美一区二区视频在线观看 | 一区二区三区四区中文字幕| 92看片淫黄大片一级| 免费欧美网站| 日韩亚洲欧美成人| 无码人妻丰满熟妇精品| 成人免费毛片app| 黄色免费高清视频| 成人在线黄色| 亚洲免费伊人电影在线观看av| 久久久久久欧美精品se一二三四| 美女一区二区三区在线观看| 久久精品国产精品国产精品污 | 亚洲成人1区2区| 网站在线你懂的| 精品一区不卡| 91成人天堂久久成人| а√中文在线资源库| 国产精品网曝门| 欧美日韩在线免费播放| 久久悠悠精品综合网| 欧美老少配视频| 97人妻精品一区二区三区软件| 国产欧美一区二区三区鸳鸯浴| 北条麻妃在线视频观看| 97se亚洲| 欧美夫妻性视频| 国产免费av观看| 国产精品美女久久久久久| 亚洲天堂av线| 欧美日中文字幕| 国产精品劲爆视频| 国产黄色在线播放| 色婷婷av久久久久久久| 亚洲av片不卡无码久久| 99视频一区| 精品久久sese| 亚洲电影观看| 国产视频综合在线| www.色国产| 久久久久久久久久久黄色| 妺妺窝人体色www在线小说| 国内精品国产成人国产三级粉色| 性欧美亚洲xxxx乳在线观看| 五月婷婷狠狠干| 日韩欧美一区二区三区久久| 亚洲自拍偷拍图| 美国三级日本三级久久99| 亚洲一区不卡在线| av成人在线网站| 欧美黑人又粗大| 少妇精品视频一区二区| 精品久久久久国产| 亚欧洲乱码视频| 美女一区二区久久| 免费观看国产视频在线| 91在线一区| 国产91精品不卡视频| 国产精品无码2021在线观看| 欧美日韩中文一区| 欧美另类视频在线观看| 91尤物视频在线观看| 日韩av在线综合| 99久久久国产精品美女| 91久久精品一区二区别| 波多野结衣精品| 亚洲午夜av久久乱码| 一级特黄aa大片| 亚洲一区二区三区美女| 在线免费观看成年人视频| 美女性感视频久久| 青青草视频在线视频| 无码日韩精品一区二区免费| 国产精品自在线| 久久电影网站| 亚洲欧美在线免费观看| 国产口爆吞精一区二区| 无码av中文一区二区三区桃花岛| 三年中国中文观看免费播放| 国产精品一区二区视频| 国产精品沙发午睡系列| 四季av在线一区二区三区| www.一区二区三区| 高清电影一区| 欧美精品videofree1080p| 最新国产在线观看| 亚洲精品国产电影| 91国产精品一区| 一本大道久久a久久精品综合| 极品美妇后花庭翘臀娇吟小说| 91亚洲男人天堂| 精品国产午夜福利在线观看| 美女国产精品| 国产青草视频在线观看| 国产一区二区区别| 高清国语自产拍免费一区二区三区| 久久人体大尺度| 欧美精品xxx| 超碰在线无需免费| 伊是香蕉大人久久| 日韩精品视频无播放器在线看 | 欧美一区影院| 日韩高清在线播放| 欧美激情极品| 99热国产免费| 91精品一区| 国产精品极品美女粉嫩高清在线| 99久久精品免费看国产小宝寻花| 日韩有码在线观看| 理论视频在线| 亚洲精品自拍第一页| 精品人妻伦一二三区久久 | 一区二区三区日韩精品视频| 日本少妇xxxxx| 久久亚洲一区二区三区四区| 中文字幕天堂av| 国产综合久久久久久鬼色| 久草福利视频在线| 免费在线欧美黄色| 国产 日韩 亚洲 欧美| 欧美激情1区| 中文字幕中文字幕一区三区| 欧美日韩精品在线一区| 欧美亚洲国产免费| 日韩影视高清在线观看| 狠狠干一区二区| 好吊妞视频这里有精品| 成人综合色站| 91亚洲精品视频在线观看| av成人综合网| 中文无码日韩欧| 亚洲自拍在线观看| 日韩高清二区| 高清国产在线一区| 国偷自产视频一区二区久| 国产青春久久久国产毛片| 亚洲视频三区| 国产视频不卡| 伊人精品一区| 热re99久久精品国产99热| 神马电影久久| 色涩成人影视在线播放| 欧美激情偷拍自拍| 欧美精品一区二区性色a+v| 国产精品毛片一区二区在线看| 中文字幕成人一区| 欧美va天堂在线| www.好吊操| 亚洲综合精品四区| 亚洲不卡视频在线| 日韩高清在线电影| 奇米视频7777| 国产91精品在线观看| 超碰caoprom| 久久久久久久久免费| 超碰人人干人人| 亚洲视频免费在线观看| 妺妺窝人体色www聚色窝仙踪| 亚洲成人免费视频| 精品免费囯产一区二区三区| 在线一区二区三区四区| 国产精品久久久久久久一区二区| 欧美一级黄色片| 亚洲人视频在线观看| 亚洲欧洲黄色网| 国产色在线观看| 久久久久久网站| 电影一区电影二区| 亚洲自拍偷拍区| 久久不见久久见中文字幕免费| 一本久久a久久精品vr综合| 欧美国内亚洲| 91看片就是不一样| 国内精品写真在线观看| 国产又粗又猛又色| 欧美极品少妇xxxxⅹ高跟鞋| a级片在线观看免费| 欧美日韩一二三四五区| 91精品国产乱码久久久| 亚洲精品福利在线观看| 米奇777四色精品人人爽| 97国产精品免费视频| 九九热这里有精品| 国产精品免费在线播放| 成人免费看片39| www.在线观看av| 久久精品二区亚洲w码| 性欧美18—19sex性高清| 国产精品家庭影院| 成人毛片18女人毛片| 这里是久久伊人| 玖玖综合伊人| 国模精品一区二区三区色天香| 在线一区视频观看| 精品不卡在线| 欧美精品网站| 欧美三级午夜理伦三级富婆| 99精品黄色片免费大全| 亚洲精品卡一卡二| 在线区一区二视频| 日本久久一级片| 欧美乱大交xxxxx另类电影| 日韩不卡视频在线观看| 精品国产一区二区三区四区vr| 女人天堂亚洲aⅴ在线观看| 午夜精品在线免费观看| 99国产精品久久久久久久久久久| 日本老熟俱乐部h0930| 欧美日韩视频在线第一区| 欧美女优在线| 欧美在线视频免费| 国产精品高潮呻吟久久久久| 久久99国产精品一区| 麻豆91小视频| 国产精品久久久视频| 一本大道久久精品懂色aⅴ| 天天综合网在线| 国产69精品99久久久久久宅男| 国产一区一区| 男女h黄动漫啪啪无遮挡软件| 蜜桃传媒麻豆第一区在线观看| 精品无码人妻一区| 日韩欧美在线国产| 视频一区二区三区在线看免费看| 久久人人爽人人| 国产成人福利av| av在线com| 成人精品视频.| 国产无遮挡又黄又爽又色| 日韩欧美视频一区| 欧美野外wwwxxx| 国产精品果冻传媒潘| 在线观看视频免费一区二区三区| 日本少妇一级片| 亚洲一区二区中文在线| 国内精品久久久久久久久久久| 毛片精品免费在线观看| 一本色道69色精品综合久久| 国产爆乳无码一区二区麻豆| 成人黄色在线网站| 国产欧美日韩另类| 亚洲激情在线视频| 中文不卡1区2区3区| 欧美日韩精品免费观看| 日韩电影在线看| 成年人二级毛片| 日韩欧美成人激情| 成人影音在线| 久久草视频在线看| 三级一区在线视频先锋 | 国产精品久久久久久久久久久新郎 | 91精品国产欧美一区二区| 国产三区在线观看| 国产精品美女黄网| 久久av在线| 日本一二三区在线观看| 日韩一区二区在线免费观看| 麻豆福利在线观看| 久久久久成人精品免费播放动漫| 天堂在线一区二区| chinese全程对白| 亚洲精品一线二线三线无人区| 在线免费日韩片| 制服诱惑一区| 成人国产视频在线观看| 国产精品久免费的黄网站| 日韩中文第一页| www.神马久久| 五月天婷婷激情视频| 综合分类小说区另类春色亚洲小说欧美| 蜜臀av午夜精品| 国产精品成人av性教育| 中文av一区| 成人乱码一区二区三区av| 欧美精品少妇一区二区三区| h片在线观看| 中国成人在线视频| 91影院在线观看| 999久久久久| 日本aⅴ大伊香蕉精品视频| 小处雏高清一区二区三区| 亚洲av无码一区二区三区观看| 欧美久久高跟鞋激| 成人影院入口| 国产高清不卡无码视频| 久久久国产午夜精品| 亚洲国产日韩在线观看| 国产精品久久久久久久久| 黄色精品免费|