亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        1.5P用PB存取社會保險管理信息系統(tǒng)中圖片資料的方式

        2012-04-29 00:00:00高翔云王建軍
        計算機光盤軟件與應(yīng)用 2012年15期

        摘要:闡述了大對象數(shù)據(jù)類型在Oracle數(shù)據(jù)庫的實現(xiàn)方式,探討了用PB存取Oracle數(shù)據(jù)庫中圖片資料的方式,并給出了社會保險管理信息系統(tǒng)中圖片資料保存和顯示的程序代碼,強調(diào)了程序代碼的關(guān)鍵點。

        關(guān)鍵詞:圖片;信息系統(tǒng);存??;PowerBuilder;Oracle

        中圖分類號:TP319 文獻標識碼:A 文章編號:1007-9599 (2012) 15-0000-02

        1 引言

        在開發(fā)管理信息系統(tǒng)時,經(jīng)常會涉及圖片處理,例如:需要處理員工照片,需要處理掃描后的檔案資料等。在基于C/S結(jié)構(gòu)開發(fā)的Oracle數(shù)據(jù)庫系統(tǒng)中,圖片存取的方式主要有三種。第一種:圖片文件保存在固定的路徑下,數(shù)據(jù)庫中只保存取文件路徑和名稱,優(yōu)點是可以節(jié)省磁盤空間,缺點是圖片文件必須在固定的目錄下,不能丟失損壞,且同一目錄下文件不能重名,圖片文件比較零散,管理不便;第二種:在Oracle數(shù)據(jù)庫中用blob類型字段保存圖片文件,數(shù)據(jù)庫若存放在網(wǎng)絡(luò)服務(wù)器上,用戶對數(shù)據(jù)的共享訪問方便;第三種:在本地用OLE存儲結(jié)構(gòu)存儲備注文件。

        我們在開發(fā)本企業(yè)的社會保險管理信息系統(tǒng)時,使用PowerBuilder作為前臺開發(fā)工具,Oracle作為后臺數(shù)據(jù)庫管理平臺,采用C/S結(jié)構(gòu),Oracle數(shù)據(jù)庫中用blob類型字段保存圖片文件的方式,成功實現(xiàn)了圖片資料的處理功能。社會保險管理信息系統(tǒng)中記錄參保人員的基本信息,這些信息都對應(yīng)圖片。所以,在Oracle數(shù)據(jù)庫中建立表qa04,用來存儲圖片資料。表Qa04包含字段sfzhm(參保人員的身份證號碼),類型是CHAR,是表的主鍵,tpzl(存儲參保人員檔案圖片),類型是BLOB,其它字段(略)等。該表可以用PB在前臺直接創(chuàng)建,也可以用CREAT命令在后臺創(chuàng)建。

        2 PB和ORACLE數(shù)據(jù)庫的連接

        PB是美國Sybase公司研制的基于Windows的一個集成化開發(fā)工具。它包含一個直觀的圖形界面和可擴展的面向?qū)ο蟮木幊陶Z言PowerScript,提供與當前流行的大型數(shù)據(jù)庫的接口,并可以通過ODBC與數(shù)據(jù)庫相連。

        ORACLE數(shù)據(jù)庫系統(tǒng)是美國ORACLE公司(甲骨文)提供的以分布式數(shù)據(jù)庫為核心的一組軟件產(chǎn)品,是目前最流行的客戶/服務(wù)器(CLIENT/SERVER)或B/S體系結(jié)構(gòu)的數(shù)據(jù)庫之一。作為一個關(guān)系數(shù)據(jù)庫,它是一個完備關(guān)系的產(chǎn)品;作為分布式數(shù)據(jù)庫它實現(xiàn)了分布式處理功能。我們開發(fā)的社會保險軟件,考慮到數(shù)據(jù)量大,并發(fā)操作比較多,實時性要求高,所以采用了ORACLE數(shù)據(jù)庫。

        PB在訪問數(shù)據(jù)庫之前,必須首先要與Oracle數(shù)據(jù)庫建立連接關(guān)系。PB與Oracle數(shù)據(jù)庫的連接通過數(shù)據(jù)庫接口來實現(xiàn),Power Builder提供了兩類接口:ODBC接口和專用接口。Oracle專用接口針對Oracle數(shù)據(jù)庫管理系統(tǒng)而設(shè)計,針對自身的特點.能夠充分發(fā)揮Oracle數(shù)據(jù)庫的優(yōu)勢,因此應(yīng)該選用專用接口進行連接。我們在開發(fā)本企業(yè)的社會保險管理信息系統(tǒng)時,是將連接參數(shù)寫到配置文件當中,然后在PB腳本中從配置文件中讀取文件,參數(shù)文件內(nèi)容如下:

        [Database]

        DBMS=O84 Oracle8/8i (8.x.4+)

        logId=[用戶名稱] ;logpass=[密碼];servername=[服務(wù)器名稱];database=[數(shù)據(jù)庫密碼];userid=[數(shù)據(jù)庫名稱];databasepassword=[Oracle服務(wù)器密碼];

        DBParm=PBCatalogOwner='ldrs',DisableBind=1,SvrFailover='Yes'

        program=參保人員管理系統(tǒng);version=1.0;copytime=2011.10.1

        3 Oracle數(shù)據(jù)庫中大對象數(shù)據(jù)類型

        在Oracle數(shù)據(jù)庫中主要有四種大對象數(shù)據(jù)類型:第一種是BLOB數(shù)據(jù)類型。用來存儲可變長度的二進制數(shù)據(jù)。由于其存儲的是通用的二進制數(shù)據(jù),因此在數(shù)據(jù)庫之間或者在客戶端與服務(wù)器之間進行傳輸?shù)臅r候,不需要進行字符集的轉(zhuǎn)換,其傳輸?shù)男时容^高,且不容易出現(xiàn)亂碼現(xiàn)象。第二種是CLOB數(shù)據(jù)類型。是用來存儲可變長度的字符型數(shù)據(jù),其存儲的最大數(shù)據(jù)量是4GB。而且在定義這個數(shù)據(jù)類型的時候,不需要指定最大的固定長度,這樣就可以節(jié)省空間。第三種是NCLOB數(shù)據(jù)類型。這個數(shù)據(jù)類型跟CLOB數(shù)據(jù)類型相似,也是用來存儲字符類型的數(shù)據(jù),但它其存儲的是Unicode字符集字符數(shù)據(jù)。第四種是BFILE數(shù)據(jù)類型。它是在數(shù)據(jù)庫外面存儲的可變二進制數(shù)據(jù),其最多也可以存儲4GB的數(shù)據(jù)。這個數(shù)據(jù)類型的特殊在于其在數(shù)據(jù)庫之外存儲實際數(shù)據(jù)。也就是說,跟其他大對象數(shù)據(jù)類型不同,其數(shù)據(jù)并不是存儲在數(shù)據(jù)文件中,而是獨立于數(shù)據(jù)文件而存在的。在這個字段中,其只存儲了指針信息。

        4 PB處理大對象數(shù)據(jù)類型

        對于大二進制數(shù)據(jù),在PB Script中是用blob數(shù)據(jù)類型表示并加以處理。標準SQL語句中的select、insert和update語句無法直接查詢blob類型的數(shù)據(jù),在PB中操作blob類型的數(shù)據(jù)只能用專用的語句,從數(shù)據(jù)庫中查詢blob類型的數(shù)據(jù)的命令是:

        selectblob restofselectstatement {using transactionobject};

        更新數(shù)據(jù)庫中blob類型數(shù)據(jù)的格式是:

        updateblob tablename

        set blobcolumn=blobvarible

        restofupatestatement {using transctionobject};

        5 將資料圖片文件保存到數(shù)據(jù)庫方法

        社會保險管理信息資料圖片錄入界面具有二個功能按鈕,一個是“預(yù)覽圖片”,另一個是“保存圖片”。

        “預(yù)覽圖片”主要完成判斷是否是圖形文件,如文件后綴是“.BMP”、“.JPG”等都是圖形文件;其次還要檢驗文件是否超過限定大小,在本例中文件限定為128KB,這樣可以為數(shù)據(jù)庫節(jié)約空間;最后因PB每次只能處理32KB的二進制信息,所以要利用循環(huán)語句將大圖片分塊讀取。

        “保存圖片”主要用UPDATEBLOB語句,將圖片文件存入數(shù)據(jù)庫,語句格式如下,詳細代碼略。

        UPDATEBLOB qa04 SET tpzl=:pict_data where sfzhm=:p_a_sfzhm

        6 顯示數(shù)據(jù)庫中的資料圖片

        圖6.1 圖6.2

        顯示數(shù)據(jù)庫中的資料圖片界面如圖6.1,要顯示某一行信息的對應(yīng)圖片,只需雙擊該行信息。信息顯示效果如圖6.2。顯示數(shù)據(jù)庫中的資料圖片主要用SELECTBLOB語句,具體代碼如下:

        integer fr_len;string pc_id;blob pictdata;long fp;string zlfl

        //zlfl 變量--資料分類

        this.setcolumn(3);zlfl=this.gettext();zlfl=trim(zlfl)

        SELECTBLOB tpzl INTO :pictdata FROM qa04 where sfzhm=:p_a_sfzhm and gzdw=:zlfl;

        int m_ln;m_ln = len(pictdata);

        IF SQLCA.SQLCode = 0 and m_ln <>0 THEN

        p_1.setpicture(pictdata)

        p_1.show()

        ELSE

        MessageBox (\"錯誤提示\",\"圖片讀取失??!\")

        p_1.hide()

        END IF

        7 結(jié)論

        社會保險管理信息系統(tǒng)中圖片資料的最佳存儲方式是用Oracle數(shù)據(jù)庫中的BLOB數(shù)據(jù)類型,它不需要進行字符集的轉(zhuǎn)換,傳輸?shù)男室脖容^高,且不容易出現(xiàn)亂碼現(xiàn)象,便于在客戶端與服務(wù)器之間進行數(shù)據(jù)傳輸。用PB對數(shù)據(jù)庫中的圖片資料進行存取,不能直接用標準的SQL語句,必須用專用的UPDATEBLOB和SELECTBLOB命令

        參考文獻:

        [1]李勁.對PB訪問數(shù)據(jù)庫中大對象數(shù)據(jù)方法的研究[J].微計算機信息,2006,22:236-238

        [2]何旭洪,趙吳彤,歐陽軍.Oracle8+PowerBuilder7數(shù)據(jù)庫應(yīng)用開發(fā)[M].北京:人民郵電出版社,2001

        [3]李玉東,馬琳.PowerBuilder8.0控件與對象大全[M].北京:電子工業(yè)出版社,2002

        [作者簡介]高翔云(1970-),女,遼寧沈陽人,工程師,主要從事通信計費系統(tǒng)開發(fā)與維護。

        国产精品久久久免费精品| 亚洲欧洲久久久精品| 国产精品国产三级国产an| 国产人妻久久精品二区三区老狼| 人妻熟妇乱又伦精品hd| 老熟女重囗味hdxx70星空| 亚洲国产精品久久久久久网站| 日本女优中文字幕四季视频网站| 亚洲av不卡一区男人天堂| 欧美又大又色又爽aaaa片 | 亚洲图区欧美| 亚洲精品国产熟女久久| 麻豆人妻性色av专区0000| 国产精品女人呻吟在线观看| 99精品电影一区二区免费看 | 国产精品午夜福利亚洲综合网| 国产黑丝美腿在线观看| 99re8这里有精品热视频免费| 高清无码精品一区二区三区| 日韩精品一区二区在线视| 久久亚洲av无码精品色午夜| 午夜不卡av免费| 国产亚洲精品hd网站| 精品成人av人一区二区三区 | 蜜臀性色av免费| 84pao强力打造免费视频34| 中文字幕成人精品久久不卡| 丰满少妇人妻久久精品| 永久免费av无码入口国语片| 国产在亚洲线视频观看| 人妻少妇偷人精品视频| 国内精品久久久久影院薰衣草| 富婆如狼似虎找黑人老外| 中文字幕在线人妻视频| 国产午夜在线视频观看| 无码精品a∨在线观看| 国产成人精品日本亚洲直播| 亚洲视频一区二区免费看| 国产99久久久国产精品免费看| 中文字幕少妇AV| 日本免费三片在线视频|