- 相關推薦
基于PB6和ORACLE8開發“勞動信息管理系統”
基于PB6和ORACLE8開發“勞動信息管理系統”劉茂忠(mzliu99#hotmail.com)
摘要:本文介紹了用POWERBUILDER6.0(以下簡稱PB6)和ORACLE8開發“勞動信息管理系統”(以下簡稱“系統”)的方法和解決的技術性問題,并介紹一些開發經驗。
主題詞:PB6ORACLE8勞動信息方法技術
1前言
“勞動信息管理系統”一般情況下都做成數字表格、文字描述、圖形顯示等形式。“數字表格”即具體的人員、工資數據的結構化描述;“文字描述”即用一段文字敘述或補充說明情況等;這里的“圖”包括兩類,即照片圖(例如BMP位圖等)和動態生成的指標描述圖(如折線圖等)。筆者在選擇開發工具和數據庫方面,經過詳細調研后,覺得用PB6和ORACLE8最為合適,現將開發和應用中的一些體會總結成文,供讀者參考。
2
系統的運行環境
本系統在CLIENT/SERVER結構上運行,SERVER平臺為UNIX,裝有ORACLE8數據庫。CLIENT端通過HUB、ROUTER與SERVER連接,CLIENT端的開發、運行平臺是WIN95/98/2000,前端開發工具為PB6,總體網絡協議為TCP/IP。
3系統功能介紹
該系統包括勞動管理信息的維護和查詢兩部分,內容充實,立足于應用。表、文、圖具全,對比圖形由數據自動生成。同類型的數據查詢采用了窗口繼承的開發方法和動態數據窗口,查詢界面統一、清晰。文字部分存入ORACLE庫的LONG字段中,用MLE(多行編輯器)作為輸入、輸出的中間編輯、查詢界面。一些原始資料,如照片、背景圖等做成了BMP圖片,以BLOB數據方式存入ORACLE庫中,或存至NFS(網絡文件系統)的“虛”盤上,查詢時調入圖形框(如P_1)內。
4技術難點及解決的方法
4.1字符集的選擇
如果字符集選擇錯誤,會出現漢字顯示成亂字符的現象,需要從注冊表中選擇正確的字符集,具體方法是:在WIN95/98/2000下運行注冊表編輯程序regedit.exe,選擇HKEY_LOCAL_MACHINE,再選擇SOFTWARE,再選擇ORACLE,然后選擇NLS_LANG(語言的國際支持),鍵入和服務器端相同的字符集。例如服務器端的字符集為AMERICAN_AMERICAN.US7ASCII,在此也輸入此項就行了。
4.2PB6和ORACLE8的連接
PB6和ORACLE8的連接是一項很重要的內容,很多導致調用數據庫失敗的原因就出于此,根據不同的用戶需求和硬件環境,可靈活選擇客戶端的接口軟件,下面舉例子來說明連接方法:
4.2.1//通過NET8連接數據庫,支持32位的數據訪問,安裝ORACLE8的NET8軟件
//目前PB6支持到ORACLE7.3,但是也支持ORACLE8,所以設置如下
SQLCA.DBMS
="o73"
//要訪問的ORACLE用戶名
SQLCA.LogID="lz"
SQLCA.LogPass="lzpwd"
SQLCA.UserID="lz"
//通過SQL*NETV2和ORACLE庫連接
SQLCA.ServerName="@net80"
Connectusingsqlca;
4.2.2//通過SQL*NETV2連接,可支持16位的數據訪問,客戶端可選擇ORACLECDE的SQL*NETV2
SQLCA.DBMS="o71"
//要訪問的ORACLE用戶名
SQLCA.LogID="lz"
SQLCA.LogPass="lzpwd"
SQLCA.UserID="lz"
//通過SQL*NETV2和ORACLE庫連接
SQLCA.ServerName="@snv2"
Connectusingsqlca;
以上的Script語句描述了和SERVER的連接過程,也可以將上述Script語句存入文件(如pb.ini)中,通過調用文件和數據庫做連接。
若PB6和ORACLE8連接不通,可查一下C:\AUTOEXEC.BAT里邊的路徑是否包含c:\orawin95\bin(或相應的路徑),如果沒有此路徑說明,PB6和ORACLE8不能連通。
4.3文字類數據(文本)的入庫和查詢
文本入庫和查詢可采用PB6的MLE(多行編輯器)作界面,編輯完成后存入ORACLE8的LONG字段中,查詢時從LONG字段中取出,放入MLE中查詢,下邊是一個例子:
//文本的預處理(以去除文本文件中的回車換行符為例說明)
//將文件讀入BLOB型變量text中fn=fileopen(txtname,streammode!)
iffn<>-1then
fileread(fn,text)
fileclose(fn)
//將讀入的數據流組合成字符串
article=string(text)
s=len(article)
forv=1tos
t=pos(article,char(13)+char(10),v)
ift>0then
article=replace(article,t,2,"")
else
endif
next
mle_1.text=article
//將處理后的文件c:\ldxx.txt存盤,文件中的回車換行符已全部去掉
text1=blob(article)
filname="c:\ldxx.txt"
【基于PB6和ORACLE8開發“勞動信息管理系統”】相關文章:
基于DLL的虛擬儀器系統開發08-06
基于ARM的實時測控系統開發平臺08-06
基于B/S體系結構開發應用系統08-06
基于B/S體系結構開發應用系統08-06
基于Visual Basic快速開發現場電視監控系統08-06
開發基于Web的地震目錄數據庫查詢系統08-06
基于Visual Basic快速開發現場電視監控系統04-12
用GNU工具開發基于ARM的嵌入式系統08-06