国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

Linux下Oracle的C語言訪問方式分析

2014-07-03 18:52孫鐘安
電腦知識與技術(shù) 2014年12期
關(guān)鍵詞:操作系統(tǒng)C語言數(shù)據(jù)庫

孫鐘安

摘要:在Linux系統(tǒng)中C語言訪問Oracle有多種方式,下面就對這些方式進(jìn)行分析,并闡述OCI的技術(shù)方式針對性較強,并在研究中拓展為OCL方式,促進(jìn)了C語言在Oracle中的應(yīng)用效果。

關(guān)鍵詞:操作系統(tǒng);數(shù)據(jù)庫;C語言;訪問方式

中圖分類號:TP311 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2014)12-2728-02

The C language under Linux Oracle access method analysis

SUN Zhong-an

(Manzhouli border check points, Hulunbuir 021400,China)

Abstract: In the Linux system C language there are many ways to access Oracle, the following analysis of these ways, and explains the technical OCI highly targeted way, and expand the way for the OCL in the study, and promote the C language in Oracle the application results.

Key words: Operating System; C language; database; access methods

1 概述

在Linux操作系統(tǒng)的使用中,比較突出的是系統(tǒng)穩(wěn)定性,同時使用中還大大降低了系統(tǒng)的成本,而具備較好的擴展性與維護(hù)性能使其成為服務(wù)器的主要操作系統(tǒng),這就要求其必須與數(shù)據(jù)庫系統(tǒng)進(jìn)行配合使其完成服務(wù)器的功能。Oracle數(shù)據(jù)庫則是在數(shù)據(jù)庫領(lǐng)域獲得廣泛應(yīng)用的主流系統(tǒng),使其成為服務(wù)器數(shù)據(jù)庫市場中主力系統(tǒng)。將Linux和Oracle配合使用可以獲得較高的安全性和穩(wěn)定性,因此在實際的應(yīng)用中二者配合的情況最為常見,所以提高二者之間的通信兼容性和高速、穩(wěn)定性是服務(wù)器與數(shù)據(jù)庫系統(tǒng)發(fā)展的重要方向,下面就針對Linux環(huán)境下Oracle的C語言訪問方式進(jìn)行研究與分析。

2 pro*c/c++訪問

該類語言是一種編譯程序,利用C語言作為主要的語言類型,內(nèi)嵌SQL語句用來完成對Oracle數(shù)據(jù)庫的訪問。隨著系統(tǒng)升級,第三代高級語言內(nèi)嵌入SQL語句完成訪問程序的優(yōu)劣勢如下:優(yōu)勢包括:將過程化和非過程語言結(jié)合起來,形成一種高效開發(fā)工具,同時能利用窗口和鼠標(biāo)完成操作;遇到編譯異常的時候,可以返回數(shù)據(jù)庫操作過中的異常;開發(fā)過程相對簡單,可以實現(xiàn)動態(tài)和靜態(tài)的調(diào)用。劣勢:pro*c利用的是底層的OCI完成數(shù)據(jù)庫操作,通信效率不高;對底層操作和數(shù)據(jù)庫動態(tài)處理方面缺乏靈活。

3 ODBC訪問

ODBC是訪問關(guān)系數(shù)據(jù)庫的通用API,提供一種通用化接口,利用不同的驅(qū)動程序完成對數(shù)據(jù)庫中應(yīng)用程序的運行。在Window中的ODBC的開發(fā)與更新都很及時,也有免費的ODBC為Linux提供服務(wù)。優(yōu)勢:通用性高可以移植并利于維護(hù);將數(shù)據(jù)庫調(diào)用接口統(tǒng)一在一起,有助于數(shù)據(jù)庫的升級與再開發(fā);編程簡單開發(fā)周期較短。劣勢:更新速度慢,限制了Oracle的一些特性應(yīng)用;調(diào)用OCI實現(xiàn)數(shù)據(jù)庫操作不能與OCI直接操作效果。

4 OCI訪問程序和OCL模式

OCI訪問數(shù)據(jù)庫的基本流程是:C源文件在編譯后獲得目標(biāo)文件,利用鏈接程序?qū)CI數(shù)據(jù)庫最后獲得相應(yīng)的可執(zhí)行應(yīng)用程序。

OCL是一種OCI API函數(shù)封裝成的類庫結(jié)構(gòu),是高級類封裝了OCI的調(diào)用模式,其隱藏了直接應(yīng)用OCI的復(fù)雜性,保留的是OCI的優(yōu)勢,如性能和本地事務(wù)處理能力。OCL包括了控制連接、還行SQL語句、儲存和處理查詢結(jié)果、開發(fā)數(shù)據(jù)庫應(yīng)用程序等相關(guān)的公共類庫,所有的類都是直觀簡潔的接口。使用OCL可以創(chuàng)建相關(guān)Oracle的高效應(yīng)用程序,不受限制的利用SQL語言的功能和靈活性,并以此完成對數(shù)據(jù)庫的訪問。

OCL的快速加載特征分析:在加載方式中有常規(guī)加載和直接路徑加載。常規(guī)的加載結(jié)構(gòu)是OraCom-mand對象并執(zhí)行相對應(yīng)的INSERT SQL語句來完成,該方式在應(yīng)用中速度稍慢,耗費的時間長。而直接路徑加載的方式則是利用Oracle的數(shù)組接口特性,先將數(shù)據(jù)進(jìn)行格式化轉(zhuǎn)變?yōu)镺racle數(shù)據(jù)模塊,然后將模塊支架寫入到數(shù)據(jù)庫的列表中,這樣的加載大大的提高了數(shù)據(jù)在數(shù)據(jù)庫中的存儲速度。直接路徑加載接口通過對Oracle數(shù)據(jù)庫服務(wù)器進(jìn)行訪問,此時利用路徑直接加載的引擎執(zhí)行功能來完成加載,它提供了從外部存貯器、一個表或者分區(qū)表加載到數(shù)據(jù)到Oracle數(shù)據(jù)庫對象功能。

在完成大批量的數(shù)據(jù)導(dǎo)入的時候,直接路徑加載通??梢泽w現(xiàn)高效率的加載,數(shù)據(jù)庫的開銷相對小。因為在加載中僅需要一次解析,數(shù)據(jù)綁定操作和程序、數(shù)據(jù)庫之間的往復(fù)操作都顯著減少,而數(shù)據(jù)庫對每一條數(shù)據(jù)的操作都是重復(fù)可知的,這就給數(shù)據(jù)庫的優(yōu)化提供了可能性。所以在利用OCL中可以利用直接路徑加載來輔助完成訪問。

5 結(jié)束語

總體看,在Linux系統(tǒng)中Oracle的C語言訪問方式有很多種,經(jīng)過分析發(fā)現(xiàn),OCI的訪問的方式較為高效,已經(jīng)成為跨平臺開發(fā)與部署的接口形式。隨著Oracle數(shù)據(jù)庫的廣泛應(yīng)用,OCI也隨著得到了普及,其中改進(jìn)后的OCL訪問方式被研究并拓展成功,不僅提高了訪問效率,也為系統(tǒng)優(yōu)化提供了可能。

參考文獻(xiàn):

[1] 易成就.Oracle數(shù)據(jù)庫內(nèi)存優(yōu)化的討論與配置[J].微計算機信息,2008(24).

[2] 朱繼梅,楊健,袁正剛.基于Oracle三層體系結(jié)構(gòu)的應(yīng)用研究[J].微計算機信息,2006(22).

[2] 黃偉.ORACLE 與C 語言通用調(diào)用接口的實現(xiàn)[J].計算機與數(shù)字工程,2005.

[3] 曾志聰,姚國祥.基于OCI技術(shù)的Oracle數(shù)據(jù)庫連接[J].微機發(fā)展,2004.

[4] 金沂.基于Oracle數(shù)據(jù)庫的C程序設(shè)計[J].計算機與網(wǎng)絡(luò),2006.endprint

猜你喜歡
操作系統(tǒng)C語言數(shù)據(jù)庫
基于Visual Studio Code的C語言程序設(shè)計實踐教學(xué)探索
基于C語言的計算機軟件編程
高職高專院校C語言程序設(shè)計教學(xué)改革探索
論子函數(shù)在C語言數(shù)據(jù)格式輸出中的應(yīng)用