新聞中心
隨著互聯(lián)網(wǎng)的迅猛發(fā)展,網(wǎng)絡(luò)平臺(tái)已經(jīng)成為人們?nèi)粘I钪胁豢苫蛉钡囊徊糠?。無(wú)論是網(wǎng)上購(gòu)物、社交、視頻娛樂(lè)還是遠(yuǎn)程辦公、在線教育等,都需要通過(guò)網(wǎng)絡(luò)平臺(tái)來(lái)實(shí)現(xiàn)。而服務(wù)器開(kāi)發(fā)與數(shù)據(jù)庫(kù)技術(shù)的發(fā)展,是實(shí)現(xiàn)高效、穩(wěn)定網(wǎng)絡(luò)平臺(tái)的關(guān)鍵。

創(chuàng)新互聯(lián)建站是專業(yè)的曲江網(wǎng)站建設(shè)公司,曲江接單;提供成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站建設(shè),網(wǎng)頁(yè)設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行曲江網(wǎng)站開(kāi)發(fā)網(wǎng)頁(yè)制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛(ài)的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來(lái)合作!
一、服務(wù)器開(kāi)發(fā)的發(fā)展
服務(wù)器是指提供網(wǎng)絡(luò)服務(wù)的計(jì)算機(jī)系統(tǒng),服務(wù)器開(kāi)發(fā)就是開(kāi)發(fā)這樣的計(jì)算機(jī)系統(tǒng)。服務(wù)器的發(fā)展可以追溯到20世紀(jì)50年代,當(dāng)時(shí)的服務(wù)器還是很簡(jiǎn)單的。隨著計(jì)算機(jī)技術(shù)的進(jìn)步,服務(wù)器不斷升級(jí),功能越來(lái)越強(qiáng)大,運(yùn)行速度越來(lái)越快。如今,服務(wù)器不僅可以提供網(wǎng)站和移動(dòng)應(yīng)用服務(wù),還可以通過(guò)云計(jì)算技術(shù)提供軟件、存儲(chǔ)等服務(wù)。
在服務(wù)器開(kāi)發(fā)中,使用的編程語(yǔ)言種類繁多,如Java、C++、Python等。不同的編程語(yǔ)言有不同的特性,可以用來(lái)完成不同類型的任務(wù)。對(duì)于服務(wù)器開(kāi)發(fā)者來(lái)說(shuō),選擇適合自己的編程語(yǔ)言是十分重要的。
服務(wù)器開(kāi)發(fā)的另一個(gè)關(guān)鍵是選擇合適的服務(wù)器操作系統(tǒng)。常用的操作系統(tǒng)有Windows Server、Linux、FreeBSD等。選擇合適的服務(wù)器操作系統(tǒng)可以提高服務(wù)器的安全性、穩(wěn)定性等。此外,服務(wù)器開(kāi)發(fā)還需要考慮網(wǎng)絡(luò)拓?fù)?、安全防護(hù)等因素,才能更好地實(shí)現(xiàn)高效、穩(wěn)定的網(wǎng)絡(luò)平臺(tái)。
二、數(shù)據(jù)庫(kù)的發(fā)展
數(shù)據(jù)庫(kù)是指存儲(chǔ)數(shù)據(jù)并進(jìn)行管理的軟件系統(tǒng)。在網(wǎng)絡(luò)平臺(tái)中,數(shù)據(jù)庫(kù)扮演著至關(guān)重要的角色,通過(guò)數(shù)據(jù)庫(kù)可以實(shí)現(xiàn)數(shù)據(jù)的存儲(chǔ)、檢索和管理。數(shù)據(jù)庫(kù)的發(fā)展可以追溯到20世紀(jì)60年代,當(dāng)時(shí)人們發(fā)現(xiàn)存儲(chǔ)數(shù)據(jù)是一項(xiàng)非常重要的任務(wù),于是就發(fā)明了數(shù)據(jù)庫(kù)系統(tǒng)。
數(shù)據(jù)庫(kù)的發(fā)展可以分為三個(gè)階段。之一階段是層次數(shù)據(jù)庫(kù)階段,指的是采用部分結(jié)構(gòu)化數(shù)據(jù)存儲(chǔ)方式的數(shù)據(jù)庫(kù)系統(tǒng)。第二階段是關(guān)系數(shù)據(jù)庫(kù)階段,指的是采用數(shù)據(jù)庫(kù)表格形式進(jìn)行數(shù)據(jù)存儲(chǔ)的數(shù)據(jù)庫(kù)系統(tǒng)。在這個(gè)階段,出現(xiàn)了代表性的關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng),如Oracle、SQL Server、MySQL等。第三階段是面向?qū)ο髷?shù)據(jù)庫(kù)階段,指的是將數(shù)據(jù)以對(duì)象的形式進(jìn)行存儲(chǔ)的數(shù)據(jù)庫(kù)系統(tǒng)。
數(shù)據(jù)庫(kù)的性能對(duì)網(wǎng)絡(luò)平臺(tái)的效率和穩(wěn)定性有著至關(guān)重要的影響。為了讓網(wǎng)絡(luò)平臺(tái)更加高效、穩(wěn)定,數(shù)據(jù)庫(kù)的開(kāi)發(fā)需要關(guān)注以下幾點(diǎn):
1、優(yōu)化查詢語(yǔ)句,減少數(shù)據(jù)庫(kù)的響應(yīng)時(shí)間。
2、使用適當(dāng)?shù)乃饕?,提高查詢速度?/p>
3、使用合適的數(shù)據(jù)類型,減少數(shù)據(jù)庫(kù)存儲(chǔ)空間的消耗。
4、定期清理無(wú)用數(shù)據(jù),減少數(shù)據(jù)庫(kù)的冗余。
5、控制并發(fā)操作,避免數(shù)據(jù)庫(kù)的死鎖等問(wèn)題。
三、服務(wù)器開(kāi)發(fā)與數(shù)據(jù)庫(kù)的應(yīng)用
服務(wù)器開(kāi)發(fā)與數(shù)據(jù)庫(kù)的應(yīng)用范圍極為廣泛,幾乎涉及到了所有網(wǎng)絡(luò)平臺(tái)。下面將以三個(gè)領(lǐng)域?yàn)槔M(jìn)行介紹:
1、電子商務(wù)
在電子商務(wù)領(lǐng)域,服務(wù)器開(kāi)發(fā)與數(shù)據(jù)庫(kù)可以實(shí)現(xiàn)商品的上架、下架、價(jià)格的變動(dòng)、訂單的生成和處理等一系列功能。而且在高并發(fā)的情況下,服務(wù)器和數(shù)據(jù)庫(kù)需要具備很高的并發(fā)處理能力,才能確保電子商務(wù)平臺(tái)的穩(wěn)定性和用戶的體驗(yàn)。
2、在線教育
在在線教育領(lǐng)域,服務(wù)器開(kāi)發(fā)與數(shù)據(jù)庫(kù)可以實(shí)現(xiàn)視頻教學(xué)的上傳、管理、播放等功能,還可以實(shí)現(xiàn)課程的管理、學(xué)生的作業(yè)提交和批改等功能。對(duì)于在線教育平臺(tái)來(lái)說(shuō),穩(wěn)定性和可擴(kuò)展性是至關(guān)重要的。
3、社交網(wǎng)絡(luò)
在社交網(wǎng)絡(luò)領(lǐng)域,服務(wù)器開(kāi)發(fā)與數(shù)據(jù)庫(kù)可以實(shí)現(xiàn)用戶的注冊(cè)、登錄、發(fā)布信息、點(diǎn)贊評(píng)論等功能,還可以提供實(shí)時(shí)聊天、視頻通話等功能。而這些功能的實(shí)現(xiàn),需要服務(wù)器和數(shù)據(jù)庫(kù)具備很高的并發(fā)處理能力和實(shí)時(shí)性能。
四、
服務(wù)器開(kāi)發(fā)與數(shù)據(jù)庫(kù)技術(shù)是實(shí)現(xiàn)高效、穩(wěn)定網(wǎng)絡(luò)平臺(tái)的關(guān)鍵。服務(wù)器開(kāi)發(fā)需要關(guān)注編程語(yǔ)言、服務(wù)器操作系統(tǒng)、網(wǎng)絡(luò)拓?fù)?、安全防護(hù)等方面;而數(shù)據(jù)庫(kù)的開(kāi)發(fā)需要關(guān)注查詢語(yǔ)句、索引、數(shù)據(jù)類型、冗余數(shù)據(jù)清理、并發(fā)處理等方面。服務(wù)器開(kāi)發(fā)與數(shù)據(jù)庫(kù)的應(yīng)用范圍非常廣泛,在電子商務(wù)、在線教育、社交網(wǎng)絡(luò)等領(lǐng)域都有重要的應(yīng)用。未來(lái),服務(wù)器開(kāi)發(fā)與數(shù)據(jù)庫(kù)技術(shù)將會(huì)不斷發(fā)展,為網(wǎng)絡(luò)平臺(tái)的高效、穩(wěn)定提供更為完善的支持。
成都網(wǎng)站建設(shè)公司-創(chuàng)新互聯(lián),建站經(jīng)驗(yàn)豐富以策略為先導(dǎo)10多年以來(lái)專注數(shù)字化網(wǎng)站建設(shè),提供企業(yè)網(wǎng)站建設(shè),高端網(wǎng)站設(shè)計(jì),響應(yīng)式網(wǎng)站制作,設(shè)計(jì)師量身打造品牌風(fēng)格,熱線:028-86922220PB/Sybase系統(tǒng)開(kāi)發(fā)中的數(shù)據(jù)庫(kù)轉(zhuǎn)移
摘要
針對(duì)在大型MIS系統(tǒng)中經(jīng)常遇到將一種數(shù)據(jù)庫(kù)的原始數(shù)據(jù)轉(zhuǎn)移到服務(wù)器空辯數(shù)據(jù)庫(kù)進(jìn)行的處理問(wèn)題 將本地磁盤上的Foxbase數(shù)據(jù)庫(kù)數(shù)據(jù)轉(zhuǎn)移到Sybase 數(shù)據(jù)庫(kù)服務(wù)器為例 提出了幾種有效的方法 并對(duì)各種方法的優(yōu)缺點(diǎn)作了一一的說(shuō)明和比較
在大型的MIS系統(tǒng)中大多是采用客戶機(jī)/服務(wù)器(C/S)的網(wǎng)絡(luò)體系結(jié)構(gòu) 在該系統(tǒng)中數(shù)據(jù)集中存儲(chǔ)在服務(wù)器的數(shù)據(jù)庫(kù)中 開(kāi)發(fā)新的MIS系統(tǒng)的時(shí)候 數(shù)據(jù)的采集和錄入是一個(gè)重要的部分 以電信計(jì)費(fèi)系統(tǒng)為例主要有以下幾個(gè)方面
)原始數(shù)據(jù)的分揀處理 處理的對(duì)象主要是磁盤 磁帶 或者光盤的二進(jìn)制數(shù)據(jù)
)以往系統(tǒng)中的檔案數(shù)據(jù)和參數(shù)數(shù)據(jù)的轉(zhuǎn)移處理 以減少用戶的輸入量和因?yàn)槿斯ぽ斎攵范慈彼鶐?lái)的錯(cuò)誤 處理的對(duì)象主要是Foxbase Access等數(shù)據(jù)庫(kù)文件
)信息臺(tái)或者其它部門送來(lái)的以Foxbase Access等文件存儲(chǔ)的費(fèi)用文件 如 信息臺(tái)送來(lái)的費(fèi)用數(shù)據(jù)等
本文中將結(jié)合PowerBuilder/Sybase系統(tǒng)開(kāi)發(fā)的實(shí)例 重點(diǎn)介紹 ) )兩種情況的處理過(guò)程(即完成本地?cái)?shù)據(jù)庫(kù)文件向服務(wù)器數(shù)據(jù)庫(kù)中的轉(zhuǎn)移)中所采取的幾種方式 以及各種方式的具體設(shè)計(jì)方法 說(shuō)明了每種方法的普遍性和針對(duì)性 并對(duì)其優(yōu)缺點(diǎn)作了比較
利用importfile ( )函數(shù)實(shí)現(xiàn)轉(zhuǎn)移
PowerBuilder是一種進(jìn)行C/S系統(tǒng)開(kāi)發(fā)的優(yōu)秀的前端工具 本身提供了大量的功能和函數(shù) 其中DataWindow數(shù)據(jù)窗口是其重要的組成部分 具有強(qiáng)大的功能 其中importfile( )函數(shù)能夠完成數(shù)據(jù)的轉(zhuǎn)移
實(shí)現(xiàn)的過(guò)程是在服務(wù)器上創(chuàng)建一個(gè)同磁盤上的數(shù)據(jù)庫(kù)結(jié)構(gòu)相同的表 創(chuàng)建一個(gè)數(shù)據(jù)窗口對(duì)象(dw_fox) 取數(shù)據(jù)源建立數(shù)據(jù)窗口 利用數(shù)據(jù)窗口對(duì)象本身的importfile( )函數(shù)將數(shù)據(jù)轉(zhuǎn)移到數(shù)據(jù)窗口中 利用update( )函數(shù)將數(shù)據(jù)保存到服務(wù)器上所建的表中
dw_fox importfi e (cipan_file_name)
dw_fox Update ( )
其中cipan_file_name為磁盤上的文件及其路徑名稱 該處理簡(jiǎn)單 但是缺乏靈活性 對(duì)在服務(wù)器數(shù)據(jù)庫(kù)中建立的表的結(jié)構(gòu)有比較高的要求 保證嚴(yán)格的一致性 但可以作相應(yīng)的處理將有效的數(shù)據(jù)處理后轉(zhuǎn)移到自己建的表中
利用ODBC連接實(shí)現(xiàn)轉(zhuǎn)移
ODBC是一種標(biāo)準(zhǔn)的應(yīng)用程序接口(API) 最早由Microsoft Windows系統(tǒng)實(shí)現(xiàn) 它顫枯允許一個(gè)應(yīng)用程序同時(shí)連接多個(gè)數(shù)據(jù)源 它使用標(biāo)準(zhǔn)的SQL語(yǔ)句作為其數(shù)據(jù)查詢語(yǔ)句 在處理過(guò)程中先通過(guò)ODBC畫板靜態(tài)地建立一個(gè)ODBC連接磁盤上的Foxbase數(shù)據(jù)庫(kù) 編程中創(chuàng)建一個(gè)本地的事務(wù)對(duì)象連接本地的數(shù)據(jù)庫(kù) 通過(guò)處理后 將有效的數(shù)據(jù)送到服務(wù)器上事先設(shè)計(jì)的一個(gè)與Foxbase數(shù)據(jù)庫(kù)相類似的表中 保存有效的數(shù)據(jù)就可以了 在實(shí)際處理的過(guò)程中 各個(gè)地方的磁盤文件名是不同的 這樣所連接的數(shù)據(jù)庫(kù)文件名和目錄都是變化的 那么在設(shè)計(jì)的時(shí)候就不能夠?qū)崿F(xiàn)將ODBC的接口固定設(shè)計(jì)出來(lái) 在處理的時(shí)候一般有兩種方式 前端作一定的處理 即按照系統(tǒng)要求的目錄和文件名稱進(jìn)行拷貝 為了使應(yīng)用程序有更好的適應(yīng)性 我們沒(méi)有采取這種方式 而是另外一種方式 采取動(dòng)態(tài)建立ODBC連接的方式
在PowerBuilder的ODBC連接中需要幾個(gè)重要的參數(shù) 在利用ODBC事先建立一個(gè)連接FoxBASE數(shù)據(jù)庫(kù)后(如Foxbase) 查看pb ini文件時(shí)將有如下的記錄 [PROFILE Foxtran] DBMS=ODBC DbParm=Connectstring= DSN=FoxBASE Prompt= AutoCommit=
同樣打開(kāi)注冊(cè)器在HKEY_CURRENT_USER Sofare\ODBC\ODBC INI下將會(huì)發(fā)現(xiàn)已經(jīng)注冊(cè)的FoxBASE主鍵 這些給我們動(dòng)態(tài)地建立ODBC連接提供了重要的資料
在具體的設(shè)置中利用PowerBuilder提供的函數(shù)注冊(cè)一個(gè)ODBC的連接 然后創(chuàng)建一個(gè)事務(wù)對(duì)象連接本地(磁盤)的數(shù)據(jù)庫(kù) 作相應(yīng)的處理后將所需要的數(shù)據(jù)送到服務(wù)器上 具體的操作如下
RegistrySet( HKEY_CURRENT_USER\Sofare\ODBC\ODBC INI\FoxBASE Default Dir regstring! file_path)//設(shè)置FoxBASE主鍵 Transaction Foxtran Foxtran=create Transaction //下面是初始化 Foxtran DBMS= ODBC Foxtran DBParm= Connectstring= DSN=FoxBASE connect using Foxtran
其中FoxBASE是注冊(cè)的ODBC的名稱 Foxtran是事務(wù)對(duì)象管理中創(chuàng)建的用以連接Foxbase數(shù)據(jù)庫(kù)的新事務(wù) 然后對(duì)事務(wù)對(duì)象進(jìn)行初始化 file_path是磁盤數(shù)據(jù)庫(kù)所在的路徑名稱(可根據(jù)用戶輸入的文件路徑和文件名分析后取得) 利用動(dòng)態(tài)創(chuàng)建ODBC連接同樣可以同時(shí)連接其它的本地?cái)?shù)據(jù)庫(kù)如Access或者Sybase SQL anywhere等 具有一定的靈活性
利用數(shù)據(jù)管道實(shí)現(xiàn)轉(zhuǎn)移
PowerBuilder的數(shù)據(jù)管道對(duì)象是在開(kāi)發(fā)(利用Data Pipeline畫板來(lái)完成)和運(yùn)行(動(dòng)態(tài)的生成)當(dāng)中傳輸數(shù)據(jù)和數(shù)據(jù)結(jié)構(gòu)的一種有效的方案 這些數(shù)據(jù)庫(kù)可以是相同的DBMS或不同的DBMS 數(shù)據(jù)傳輸可以是插入一張完整的數(shù)據(jù)表或者表的一部分及其數(shù)據(jù) 也可以是更新已有表的數(shù)據(jù) 轉(zhuǎn)換時(shí)幾個(gè)重要的選項(xiàng)是 源數(shù)據(jù)庫(kù) 目標(biāo)數(shù)據(jù)庫(kù) 移動(dòng)數(shù)據(jù)出來(lái)的源表 數(shù)據(jù)將移到的目的表 所要完成的管道操作等 下面以在運(yùn)行中使用為例來(lái)加以說(shuō)明其處理的過(guò)程
?。?)建立管道對(duì)象(Pipe_copy_convert) 然后建立一個(gè)管道類型的標(biāo)準(zhǔn)類用戶對(duì)象u_pipeline和一個(gè)數(shù)據(jù)窗口dw_pipe_errors 在運(yùn)行的過(guò)程中創(chuàng)建用戶對(duì)象實(shí)例 對(duì)它的屬性進(jìn)行賦值 iu_pipeline=create u_pipelineiu_pipeline DataObject= pipe_copy_convert
?。?)創(chuàng)建連接源數(shù)據(jù)庫(kù)和目標(biāo)數(shù)據(jù)庫(kù)的事務(wù)對(duì)象 初始化連接事務(wù)對(duì)象(同上)
Transaction Tran_sourse Tran_dest Tran_sourse=create Transaction Tran_dest=create Transaction //初始化
?。?)運(yùn)行數(shù)據(jù)管道及后續(xù)處理
利用start()函數(shù)完成后 捕捉到錯(cuò)誤后進(jìn)行相應(yīng)的處理 利用cancel()終止數(shù)據(jù)管道的執(zhí)行
iu_pipeline start (tran_sourse tran_dest dw_pipe_errors) //錯(cuò)誤處理 iu_pipeline cancel()
利用數(shù)據(jù)管道能夠比較快速的 直接的將本地?cái)?shù)據(jù)庫(kù)(包括表的整個(gè)結(jié)構(gòu)或者部分以及數(shù)據(jù))轉(zhuǎn)移到服務(wù)器的數(shù)據(jù)庫(kù)并保存在一個(gè)表中 在轉(zhuǎn)移用戶的原始檔案資料的時(shí)候多采取這種方法
分析本地庫(kù)系統(tǒng)實(shí)現(xiàn)轉(zhuǎn)移
在進(jìn)行數(shù)據(jù)轉(zhuǎn)換的過(guò)程中 由于各種數(shù)據(jù)的表的結(jié)構(gòu)都是不一樣的 以電信計(jì)費(fèi)的信息費(fèi)為例 不同的地區(qū)信息臺(tái)使用的軟件不同 數(shù)據(jù)字段幾乎都是不一樣的 實(shí)際的處理中也不是每一個(gè)字段的數(shù)據(jù)都有意義 或者都需要轉(zhuǎn)換到服務(wù)器的數(shù)據(jù)庫(kù)中 用戶往往要求根據(jù)自己的需要來(lái)選擇字段 計(jì)算方式以及每列的約束條件(如有些項(xiàng)目有更大值的限制等) 利用以上的方法來(lái)處理就有些困難 在實(shí)際的處理中 我們考慮分析本地?cái)?shù)據(jù)庫(kù)的系統(tǒng)表 來(lái)得到本地?cái)?shù)據(jù)庫(kù)的結(jié)構(gòu) 將數(shù)據(jù)庫(kù)中的各個(gè)字段呈現(xiàn)在用戶的面前 用戶作出選擇后 加入一定的條件 再進(jìn)行處理 將利用動(dòng)態(tài)SQL語(yǔ)句生成一個(gè)滿足條件的表 這樣就要求用戶能夠通過(guò)系統(tǒng)來(lái)了解磁盤數(shù)據(jù)庫(kù)的內(nèi)容 分析本地庫(kù)的系統(tǒng)表后將得到較為滿意的結(jié)果
在利用ODBC連接到本地庫(kù)后 發(fā)現(xiàn)并分析了幾個(gè)系統(tǒng)表(System table) 其中有一個(gè)表是Pbcatcol中記錄著用戶數(shù)據(jù)庫(kù)的結(jié)構(gòu) 其中的一部分如表 所示(如果表為ADDRESS (ID Name Address Phone))
表
其中 pbc_tnam記錄的是用戶數(shù)據(jù)庫(kù)的表名(Table name) (在Foxbase中一個(gè)表就是一個(gè)數(shù)據(jù)庫(kù)) pbc_cnam記錄的是用戶數(shù)據(jù)庫(kù)的列名(Column name)
根據(jù)用戶輸入的文件名稱 取消后綴即可得到數(shù)據(jù)庫(kù)的表名 定義一個(gè)光標(biāo)即可取得用戶數(shù)據(jù)庫(kù)的列名 將數(shù)據(jù)庫(kù)展示在用戶的面前 用戶根據(jù)需要選擇后再作處理
DECLARE My_Cursor CURSOR FOR SELECT pbcatcol pbc_cnam FROM pbcatcol
利用分析系統(tǒng)表來(lái)得到用戶數(shù)據(jù)庫(kù)的結(jié)構(gòu)是一個(gè)比較有效的方法 它能夠?qū)ξ粗臄?shù)據(jù)庫(kù)結(jié)構(gòu)有一個(gè)清晰的認(rèn)識(shí) 而不需要事先知道它的結(jié)構(gòu) 但是它仍然有一個(gè)問(wèn)題 就是通過(guò)分析系統(tǒng)表不能得到用戶數(shù)據(jù)庫(kù)的列的數(shù)據(jù)類型 在轉(zhuǎn)換到服務(wù)器的數(shù)據(jù)庫(kù)的時(shí)候要借助用戶的輸入才能夠確定 即提供用戶必須選擇的項(xiàng)目來(lái)確定某一個(gè)字段的數(shù)據(jù)類型 能夠比較好地完成數(shù)據(jù)的轉(zhuǎn)換 具有相當(dāng)大的靈活性 程序并不要關(guān)心用戶數(shù)據(jù)庫(kù)的類型 可以廣泛地使用于各種類型的數(shù)據(jù)庫(kù)(Foxbase Access等)
分析服務(wù)器系統(tǒng)實(shí)現(xiàn)轉(zhuǎn)移
要確定一個(gè)數(shù)據(jù)庫(kù)的結(jié)構(gòu) 只要確定用戶數(shù)據(jù)庫(kù)的字段名和數(shù)據(jù)類型就可以了 利用分析本地庫(kù)系統(tǒng)表的方式可以得到數(shù)據(jù)庫(kù)的字段名 但是用戶數(shù)據(jù)庫(kù)的字段的數(shù)據(jù)類型仍然無(wú)法獲得 通過(guò)分析Sybase服務(wù)器數(shù)據(jù)庫(kù)的系統(tǒng)表可以得到服務(wù)器數(shù)據(jù)庫(kù)中的表的字段名和數(shù)據(jù)類型 在設(shè)計(jì)的時(shí)候考慮采取兩種方法相結(jié)合的辦法 先利用(數(shù)據(jù)管道)Pipeline將用戶本地的數(shù)據(jù)庫(kù)完整地轉(zhuǎn)換到服務(wù)器的數(shù)據(jù)庫(kù)中的一個(gè)表 然后通過(guò)分析服務(wù)器上的系統(tǒng)表 Pbcatcol Syscolumns Systypes 其中Pbcatcol表中同前面一樣記錄著用戶表的表名和字段名等 Syscolumns中記錄著數(shù)據(jù)庫(kù)中所有表的字段名(Name) 字段的數(shù)據(jù)類型(Type) 字段的長(zhǎng)度(Length)和精確度(Prec Scale)等 將三個(gè)表關(guān)聯(lián)后可從中取得從磁盤上轉(zhuǎn)換到服務(wù)器上的表的完整的結(jié)構(gòu)(可以通過(guò)定義光標(biāo)或者直接利用數(shù)據(jù)窗口的方式完成具體的設(shè)計(jì))
SELECT syscolumns name systypes name FROM pbcatcol syscolumns systypes length WHERE (syscolumns type=systypes type) and (pbcatcol pbc_cnam=syscolumns name) and ((pbcatcol pbc_tnam= Address ))
分析數(shù)據(jù)庫(kù)文件實(shí)現(xiàn)轉(zhuǎn)移
利用數(shù)據(jù)管道和分析服務(wù)器系統(tǒng)表相結(jié)合的方法能夠比較完整的解決數(shù)據(jù)的轉(zhuǎn)換問(wèn)題 但仍然要將本地的數(shù)據(jù)庫(kù)完整的轉(zhuǎn)換到服務(wù)器上 增加了服務(wù)器的負(fù)擔(dān) 占據(jù)了一定的存儲(chǔ)空間 設(shè)計(jì)中我們?cè)囉昧肆硪环N方法 通過(guò)分析本地?cái)?shù)據(jù)庫(kù)本身的結(jié)構(gòu) 希望有所收獲 利用Visual C++以二進(jìn)制的方式將數(shù)據(jù)庫(kù)文件打開(kāi)(此種方法只對(duì)Foxbase文件進(jìn)行了分析)發(fā)現(xiàn)如圖 所示的結(jié)構(gòu) 文件存儲(chǔ)的方式是表頭和數(shù)據(jù)兩個(gè)部分 表頭以十六進(jìn)制的 D結(jié)尾 其表頭的規(guī)律是 之一個(gè) 個(gè)字節(jié)是文件頭 從第二個(gè) 個(gè)字節(jié)后是之一個(gè)字段名和數(shù)據(jù)類型 第三個(gè) 字節(jié)開(kāi)始又是第二個(gè)字段名和數(shù)據(jù)類型 以此類推 直到 D結(jié)束 其結(jié)構(gòu)如表 所示 不足的部分添十六進(jìn)制的 其中數(shù)據(jù)類型是簡(jiǎn)寫 C Char D Date L Logical N Numeric M Memo G Genera
表
于是用PowerBuilder提供的文件處理函數(shù)FileOpen() FileSeek() FileRead() FileClose()等 可以分析Foxbase數(shù)據(jù)庫(kù)文件 得到本地?cái)?shù)據(jù)庫(kù)的字段和數(shù)據(jù)類型 對(duì)各種字段的長(zhǎng)度可以讓用戶來(lái)設(shè)定 或者系統(tǒng)按照更大和系統(tǒng)的要求來(lái)設(shè)定 在服務(wù)器的數(shù)據(jù)庫(kù)上來(lái)產(chǎn)生相應(yīng)的表 利用動(dòng)態(tài)的數(shù)據(jù)窗口(Datawindow)可以顯示本地庫(kù)的數(shù)據(jù)和處理的結(jié)果
結(jié)束語(yǔ)
lishixinzhi/Article/program/Sybase/202311/11215
關(guān)于服務(wù)器開(kāi)發(fā) 數(shù)據(jù)庫(kù)的介紹到此就結(jié)束了,不知道你從中找到你需要的信息了嗎 ?如果你還想了解更多這方面的信息,記得收藏關(guān)注本站。
成都網(wǎng)站建設(shè)選創(chuàng)新互聯(lián)(?:028-86922220),專業(yè)從事成都網(wǎng)站制作設(shè)計(jì),高端小程序APP定制開(kāi)發(fā),成都網(wǎng)絡(luò)營(yíng)銷推廣等一站式服務(wù)。
新聞標(biāo)題:服務(wù)器開(kāi)發(fā)與數(shù)據(jù)庫(kù):創(chuàng)造高效、穩(wěn)定的網(wǎng)絡(luò)平臺(tái)(服務(wù)器開(kāi)發(fā)數(shù)據(jù)庫(kù))
本文鏈接:http://www.5511xx.com/article/djgcoog.html


咨詢
建站咨詢
