国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > Oracle > 正文

開發基于Oracle7數據庫的管理信息系統

2024-08-29 13:41:11
字體:
來源:轉載
供稿:網友

  1前言
  開發高水平的“治理信息系統”,選擇性能優越的數據庫是最重要的一環,我們經過多方面的調研和分析,選擇了Oracle7數據庫,成功地開發了本系統。實踐證實,本系統設計科學、合理、運行穩定,本文將具體闡述一下系統中應用ORACLE7數據庫的方法和技術。
  
  2系統的開發、運行環境
  本系統在CLIENT/SERVER結構上運行,SERVER為CDC4360小型機,和快速FDDI環網相接,內裝有UNIX操作系統和ORACLE7數據庫,系統總體網絡協議為TCP/ip。
  
  CLIENT端為486以上微機,16M以上內存,硬盤足夠大,通過HUB、路由器、MODEM和SERVER連接。開發、運行平臺是WIN95,安裝了網絡軟件ONNET、ORACLECDE產品SQL*NETV2。開發工具是POWERBULDER5.0(以下簡稱PB5)、VB4等。
  
  3 ORACLE7在系統中的各種應用
  3.1一般性的數據治理
  
  一般性的數據治理用數據窗口治理最方便,可以在數據窗口中進行表的增、刪、改、查詢等操作,下邊是一些具體例子(PB5):
  
  3.1.1連通ORACLE庫,并將數據裝入數據窗口:
  
  dw_1.SetTransObject(sqlca)
  dw_1.Retrieve()
  
  3.1.2增加一條記錄
  
  dw_1.InsertRow(dw_1.GetRow()+1)
  
  3.1.3刪除一條記錄(當前記錄)
  
  dw_1.DeleteRow(0)
  
  3.1.4將數據提交入庫(存盤)
  
  dw_1.Update()
  commit;
  
  3.1.5打印數據窗口(表)中的數據
  
  dw_1.PRint()
  
  3.2文字類數據治理
  
  3.2.1文本入庫和查詢
  
  文本入庫和查詢可采用PB5的MLE(多行編輯器)作界面,編輯完成后存入ORACLE7的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:/bb.txt存盤,
  文件中的回車換行符已全部去掉
  text1=blob(article)
  filname="c:/bb.txt"
  fn=fileopen(filname,streammode!,
  write!,lockwrite!,replace!)
  iffn<>-1then
  filewrite(fn,text1)
  fileclose(fn)
  endif
  //文本入庫
  nr1=blob(mle_1.text)
  updateblobgljwjsetnr=:nr1wherebh=:pass_parm
  andzwrq=:fsjandwjbs=:fl5usingsqlca;
  commit;
  //放入MLE中查詢
  selectblobnrinto:nr1fromgljwjwherebh=:pass_parm
  andwjbs=:fl5andzwrq=:fsjusingsqlca;
  mle_1.text=blob(nr1)
  
  3.2.2從庫中重新生成文本文件filename.txt并存盤
  
  selectnrinto:filenfromfwgswherebh=:bh1
  andlwrq=:zwrq1usingsqlca;
  fname="c:/filename.txt"
  fh=fileopen(fname,streammode!,write!,lockwrite!,replace!)
  iffh<>-1then
  filewrite(fh,filen)
  fileclose(fh)
  endif
  
  3.3處理圖象文件(大的二進制文件)
  
  圖象文件(一般為BMP位圖文件)是二進制文件,將其以數據流方式存入ORACLE7的LONG字段中,查詢時從LONG字段中取出,放入圖象框(如p_1)中查詢,下邊是一個例子:
  
  //將圖象文件讀入BLOB型變量pict中
  fn=fileopen(picname,streammode!)
  iffn<>-1then
  fileread(fn,pict)
  fileclose(fn)
  //將圖象放入圖象框p_1內查看
  setpicture(p_1,pict)
  endif
  //將圖象存入表pic的LONG字段bmpt中
  updateblobpicsetbmpt=:pict;
  commit;
  
  較大的圖象文件一次不能入庫,可采取分割圖形的方式,分塊存入,因為LONG字段所存放的數據大小一般是沒限制的(可存放2G的內容)。

  
  4開發應用經驗
  4.1建議CLIENT端通過SQL*NETV2進行ORACLE數據通信(不用SQL*NETTCPV1產品)
  
  因為在ORACLE7推出以后,SQL*NETV1就沒有做一些改進工作,繼續支持到ORACLE7.2,ORACLE7.3以后的產品將不支持SQL*NETTCPV1,所以,ORACLE7用戶應立即改用SQL*NETV2,不然會影響到庫的運行穩定性。
  
  ORACLECDE2和Developer2000提供了CLIENT端ORACLE產品的安裝程序ORAINST.EXE,運行該文件來安裝SQL*NETV2,選擇的產品有:
  
  aORACLETCP/IPADPTER2.1.4.1.3
  bsql*net2.1.4.1.4
  
  在WIN95下,網絡軟件產品(Tcp/IPVendor)選擇MicrosoftwindowsNTTcp/IP3.1,按提示說明裝入就可以了,另外還要做以下工作:
  
  將SERVER上的tnsnames.ora文件復制到CLIENT端c:/orawin/network/admin目錄下:
  
  ora7=(DESCRIPTION=
  (ADDRESS=
  (PROTOCOL=TCP)
  (HOST=111.1.1.1)
  (PORT=1521)
  )
  (CONNECT_DATA=(SID=ora7))
  )
  
  可在SQLPLUS下鍵入連接命令scott/tiger@ora7測試連接情況。
  
  首先要作好這三件工作:
  
  4.2采取數據加密技術
  
  對用戶來說,查詢信息是有權限的,若想查詢某項保密數據,需正確地鍵入密碼,才能查到。面對同一臺微機,誰能正確地鍵入密碼,誰就能做查詢,該系統通過自定義一些復雜的函數運算產生密碼,從表(TABLE)中找不到密碼數據,通過這種精密的設計處理,達到了數據保密要求。下邊是密碼修改和識別的一段程序(PB5):
  
  passWord=sle_1.text
  a8=pos(sle_1.text,"/")
  ifa8>=1then
  password=left(sle_1.text,a8-1)
  newpassword=mid(sle_1.text,a8+1,len(sle_1.text)-a8)
  endif
  selectdwbminto:dmfromdwwheremm=:password;
  sle_1.text=""
  ifsqlca.sqlcode<>0then
  messagebox("警告:","口令錯!")
  pw=pw+1
  ifpw>=3then
  close(w_bg_main)
  endif
  else
  mm=dm
  ifa8>=1then
  a7=messagebox("提示信息","確定要修改口令嗎(y/n)?
  ",information!,YesNo!,2)
  ifa7=1then
  selectdwbminto:a9fromdwwheremm=:newpassword;
  ifsqlca.sqlcode<>100ornewpassword=""then
  messagebox("提示信息","新口令錯!")
  gotoend1
  else
  updatedwsetmm=:newpassword
  wheremm=:password;
  messagebox("請記住新口令",string(newpassword))
  commit;
  endif
  endif
  endif
  
  4.3用Excel輸出精美表格
  
  用VC或PB5將ORACLE庫中的數據生成文本或EXCEL文件,再通過EXCEL的數據鏈接,將對應數據調入事先定義好的EXCEL標準輸出表中,按用戶的要求輸出。
  
  PB5生成EXCEL格式文件的SCRIPT語句舉例如下:
  
  dw_1.SaveAs("c:/glxx.xls",excel!,true)
  
  4.4正確使用日期型數據
  
  在庫操作過程中,若日期變量的值定義錯了,將提示SQL語句出錯信息,錯誤現象非常隱蔽,不好察覺,這是編程過程中的常見錯誤,在此非凡強調一下。舉一個例子:
  
  若日期數據為常量,要按下列格式賦值(用一update語句說明):
  
  updatetabsetrq='1-Feb-96';
  commit;
  
  5結束語
  該系統的開發和應用,使我們更加體會到了ORACLE數據庫的優越性,本系統的開發成功與此是分不開的,我們將做進一步探索,用先進的開發工具和升級的ORACLE8開發面向網絡的和多媒體的“治理信息系統”。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 龙陵县| 当阳市| 通江县| 潼南县| 农安县| 河曲县| 建阳市| 合水县| 辽宁省| 嘉禾县| 山阴县| 长治市| 双城市| 沁源县| 克拉玛依市| 当阳市| 大兴区| 台北县| 永春县| 图们市| 靖州| 淮滨县| 彰武县| 灌阳县| 天津市| 华阴市| 新邵县| 堆龙德庆县| 淮安市| 滁州市| 溧阳市| 泉州市| 台南市| 太康县| 卢龙县| 桐柏县| 文山县| 广灵县| 吴江市| 家居| 桑日县|