日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

DataSnap客戶端共享服務(wù)器端的數(shù)據(jù)庫(kù)連接

 delphiXE6 2014-05-08

客戶端的一個(gè)連接(SQLConnection)能夠共享服務(wù)器方法對(duì)數(shù)據(jù)庫(kù)的訪問(wèn)連接。這樣就可以做到一個(gè)客戶端連接唯一關(guān)聯(lián)服務(wù)器端的一條數(shù)據(jù)庫(kù)連接;通過(guò)該共享連接,在客戶端可以直接執(zhí)行數(shù)據(jù)庫(kù)的SQL語(yǔ)句以及存儲(chǔ)過(guò)程,并且可以與服務(wù)器端的調(diào)用方法處于相同的事務(wù)上下文中。

 

共享連接的實(shí)現(xiàn),是通過(guò)客戶端調(diào)用服務(wù)器的一個(gè)返回TDBXConnection實(shí)例的方法來(lái)實(shí)現(xiàn)的。該返回實(shí)例并不是真正地返回到客戶端,它仍然保留在服務(wù)器端,客戶端隨后提交執(zhí)行的SQL語(yǔ)句或存儲(chǔ)過(guò)程,就是由此實(shí)例來(lái)負(fù)責(zé)完成。為在客戶端實(shí)現(xiàn)上的方便起見,返回TDBXConnection實(shí)例的服務(wù)器端調(diào)用方法可以在客戶端的SQLConnection控件的TDBXPropertyNames.ServerConnection屬性中指定,當(dāng)客戶端執(zhí)行SQLConnection.Open時(shí),就獲得了一個(gè)服務(wù)器端的數(shù)據(jù)庫(kù)共享連接。比如服務(wù)器端提供了這樣一個(gè)函數(shù):function TServerMethods1.GetShareConn: TDBXConnection,ServerConnection屬性就設(shè)置為'TServerMethods1.GetShareConn'。

 

DataSnap也提供了一個(gè)內(nèi)建方法DSAdmin.GetConnection返回TDBXConnection,客戶端可以直接使用它來(lái)建立共享連接。但此方法要求服務(wù)器端部署dbxconnections.ini文件。在設(shè)計(jì)時(shí),可以在IDE的Data Explorer預(yù)先創(chuàng)建一個(gè)數(shù)據(jù)庫(kù)連接,比如取名為'myoracleconnection'。則客戶端的ServerConnection屬性就設(shè)置為DSAdmin.GetConnection("myoracleconnection")。

 

客戶端共享連接的使用也是很簡(jiǎn)單的。客戶端SQLConnection控件的Driver屬性是'DataSnap',本來(lái)在客戶端不能直接提交執(zhí)行SQL語(yǔ)句或存儲(chǔ)過(guò)程的,但在建立共享連接之后,就可以把該SQLConnection控件視為已經(jīng)連接到數(shù)據(jù)庫(kù)而不是DataSnap服務(wù)器,我們就可以在客戶端放入TSQLDataSet控件,指定SQL語(yǔ)句或存儲(chǔ)過(guò)程來(lái)執(zhí)行;如果要返回?cái)?shù)據(jù)集,就再放入TDataSetProvider、TClientDataSet等控件來(lái)實(shí)現(xiàn)。這樣一來(lái),就與以前的二層數(shù)據(jù)庫(kù)應(yīng)用開發(fā)非常類似了。

 

客戶端在使用共享連接提交執(zhí)行SQL語(yǔ)句或存儲(chǔ)過(guò)程的同時(shí),仍然可以通過(guò)該SQLConnection調(diào)用DataSnap服務(wù)器端暴露的服務(wù)器方法。

 

共享連接這種應(yīng)用形式并不常見,但在某些特殊場(chǎng)合可能有用,比如由客戶端完成數(shù)據(jù)庫(kù)事務(wù)處理操作的時(shí)候。同時(shí),共享連接,也可以減少數(shù)據(jù)庫(kù)的并發(fā)連接數(shù)量,從而有效地降低服務(wù)器的資源使用情況。

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多