office交流網(wǎng)--QQ交流群號(hào)及微信交流群

Access培訓(xùn)群:792054000         Excel免費(fèi)交流群群:686050929          Outlook交流群:221378704    

Word交流群:218156588             PPT交流群:324131555

微信交流群(請(qǐng)用微信掃碼)

        

利用NetData控件將一個(gè)ado+access的單機(jī)版應(yīng)用擴(kuò)展為網(wǎng)絡(luò)版

2019-11-22 16:30:00
tmtony8
原創(chuàng)
4278

一個(gè)典型的ado+access的應(yīng)用,其中包含了增、刪、改、查的各種操作.由于代碼比較簡(jiǎn)單,這里就不贅述了。

    

我們的任務(wù)是如何將這個(gè)典型的單機(jī)應(yīng)用,只增加兩行代碼使其擴(kuò)展為網(wǎng)絡(luò)版。

這里我們使用NetData控件,它是 基于Winsock,ado和xml技術(shù)的vb6用戶(hù)控件

第一步:下載并注冊(cè)NetData控件:   

第二步:建立服務(wù)器端程序:

 1、新建一個(gè)vb工程,并保存,加入剛剛注冊(cè)好的NetData控件,然后將NetDataServer控件放到form1上。
 2、在Form_Load事件中加入:
                NetDataServer1.Start "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=cs.mdb;", "8888"
            這個(gè)方法有兩個(gè)參數(shù),第一個(gè)是標(biāo)準(zhǔn)的ado連接字符串,第二個(gè)是服務(wù)器端占用的端口,這里設(shè)置為8888
            這里需要注意的是連接字符串中的數(shù)據(jù)庫(kù)路徑,這個(gè)數(shù)據(jù)庫(kù)就是adoDemo里的數(shù)據(jù)庫(kù)。我這里將它復(fù)制到
            了當(dāng)前目錄下。
 3、在Form_Unload事件中加入:
                 NetDataServer1.Down   '關(guān)閉服務(wù),釋放資源...
 4、編譯該項(xiàng)目,得到Server.exe
        這樣,服務(wù)器端就構(gòu)建完成了。
        (詳細(xì)代碼見(jiàn)剛剛下載的netdatademo/服務(wù)器端)
第三步:更改原有單機(jī)版程序?yàn)榭蛻?hù)端程序(只須增加兩行代碼):
1、打開(kāi)原有的項(xiàng)目,將目錄下的cs.mdb移動(dòng)到剛剛建立的服務(wù)器端的目錄下。是的,客戶(hù)端不需要數(shù)據(jù)庫(kù),
            因?yàn)閿?shù)據(jù)庫(kù)存在服務(wù)器端。
2、第一步-->>> 注釋或刪除掉原有ADO本地連接代碼 
            'Public DB As New Connection   'ado對(duì)象中的連接對(duì)象
            該代碼在Form1的第一行
 3、第二步-->>> 在Form_load事件中,注釋或刪除掉原有ADO本地連接的代碼
            'DB.CursorLocation = adUseClient  '設(shè)置數(shù)據(jù)庫(kù)為本地?cái)?shù)據(jù)庫(kù)
            'DB.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=cs.mdb;"
 4、第三步-->>> 在Form_load中,增加一行代碼:
            Db.Start "127.0.0.1", "8888"
            啟動(dòng)客戶(hù)端,指定服務(wù)器的ip和端口,為了便于測(cè)試這里設(shè)置的是本機(jī)ip
            實(shí)際應(yīng)用中需將服務(wù)器端運(yùn)行在遠(yuǎn)程服務(wù)器上,這里就要填遠(yuǎn)程服務(wù)器的域名或ip了。
            注意:這行代碼需增加到 Call Fillfg 過(guò)程之前
 5、第四步-->>> 在Form_Unload事件中,注釋或刪除原有的ADO關(guān)閉本地連接的代碼:
            'DB.Close '注釋掉原有ADO本地連接代碼
            然后增加第二行代碼:
            Db.Down '關(guān)閉客戶(hù)端控件...
            注意:這行代碼一定要加上,不釋放資源會(huì)影響客戶(hù)端性能的。
 6、第五步--->>>最重要的一步!那就是加入NetData控件,并且將NetDataClient放到form1上,將它的name改名為DB
            注意:為了兼容舊有的代碼一定要將NetDataClient控件名改為DB
 7、編譯該項(xiàng)目,得到Client.exe

    至此,單機(jī)版向網(wǎng)絡(luò)版的升級(jí)就大功告成了。先運(yùn)行server.exe,再運(yùn)行3個(gè)client.exe,測(cè)試一下~


速度是不是很快。如果你有自己的internet服務(wù)器,可以將數(shù)據(jù)庫(kù)和server.exe復(fù)制到服務(wù)器上,在服務(wù)器上運(yùn)行。

(別忘了在服務(wù)器端注冊(cè)NetData控件)。client.exe可以在多個(gè)客戶(hù)端運(yùn)行。這樣基于vb6+access的c/s架構(gòu)應(yīng)用就搭建完畢了。


    基于mssql的應(yīng)用也可用此方法升級(jí),優(yōu)點(diǎn)就是用netdata替代ado直連mssql的方式,會(huì)帶來(lái)巨大的性能提升。因?yàn)閍do直連遠(yuǎn)程

mssql實(shí)在是太慢了,查詢(xún)量稍大就會(huì)超時(shí)機(jī)器不穩(wěn)定,使用netdata就從根本上解決了這個(gè)問(wèn)題。


    本文只是介紹了netdata的一部分簡(jiǎn)單的應(yīng)用,如:事務(wù)、存儲(chǔ)過(guò)程、服務(wù)器端處理業(yè)務(wù)邏輯等一些實(shí)用性的東西沒(méi)有探討,
netdata不僅能勝任,而且十分高效。
     


分享
文章分類(lèi)
聯(lián)系我們
聯(lián)系人: 王先生
Email: 18449932@qq.com
QQ: 18449932
微博: officecn01
移動(dòng)訪(fǎng)問(wèn)