




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
中華人民共和國國家環(huán)境保護(hù)標(biāo)準(zhǔn)
HJ719-2014
環(huán)境信息系統(tǒng)數(shù)據(jù)庫訪問接口規(guī)范
Specificationfordatabaseaccessinterfaceofenvironmentinformationsystem
(發(fā)布稿)
本電子版為發(fā)布稿。請(qǐng)以中國環(huán)境科學(xué)出版社出版的正式標(biāo)準(zhǔn)文本為準(zhǔn)。
前言
為貫徹《中華人民共和國環(huán)境保護(hù)法》,促進(jìn)環(huán)境信息化工作,明確關(guān)系型數(shù)據(jù)庫的訪問
接口,推動(dòng)環(huán)境信息資源建設(shè),制定本標(biāo)準(zhǔn)。
本標(biāo)準(zhǔn)規(guī)定了環(huán)境信息系統(tǒng)中關(guān)系型數(shù)據(jù)庫的訪問接口,確定了數(shù)據(jù)庫訪問接口的基本
架構(gòu)以及數(shù)據(jù)庫訪問接口方式、數(shù)據(jù)庫訪問工作流程。
本標(biāo)準(zhǔn)附錄A、附錄B、附錄C、附錄D、附錄E為資料性附錄。
本標(biāo)準(zhǔn)為首次發(fā)布。
本標(biāo)準(zhǔn)由環(huán)境保護(hù)部科技標(biāo)準(zhǔn)司組織制訂。
本標(biāo)準(zhǔn)主要起草單位:環(huán)境保護(hù)部信息中心、深圳市環(huán)境保護(hù)宣傳教育信息中心。
本標(biāo)準(zhǔn)由環(huán)境保護(hù)部2014年12月25日批準(zhǔn)。
本標(biāo)準(zhǔn)自2015年3月1日起實(shí)施。
本標(biāo)準(zhǔn)由環(huán)境保護(hù)部解釋。
ii
環(huán)境信息系統(tǒng)數(shù)據(jù)庫訪問接口規(guī)范
1適用范圍
本標(biāo)準(zhǔn)規(guī)定了環(huán)境信息系統(tǒng)中關(guān)系型數(shù)據(jù)庫的訪問接口,確定了數(shù)據(jù)庫訪問接口的基本
架構(gòu)以及數(shù)據(jù)庫訪問接口方式、數(shù)據(jù)庫訪問工作流程。
本標(biāo)準(zhǔn)適用于同一局域網(wǎng)內(nèi)的數(shù)據(jù)庫訪問,以及環(huán)境信息系統(tǒng)的關(guān)系型數(shù)據(jù)庫訪問接口
的建設(shè)。
2術(shù)語和定義
下列術(shù)語和定義適用于本標(biāo)準(zhǔn)。
2.1環(huán)境信息environmentinformation
環(huán)境管理、環(huán)境科學(xué)、環(huán)境技術(shù)、環(huán)境保護(hù)產(chǎn)業(yè)等與環(huán)境保護(hù)相關(guān)的數(shù)據(jù)、指令和信號(hào)
等,以及其相關(guān)動(dòng)態(tài)變化信息;包括文字、數(shù)字、符號(hào)、圖形、圖像、影像和聲音等各種表
達(dá)形式。
2.2數(shù)據(jù)庫database
按照概念結(jié)構(gòu)組織的數(shù)據(jù)的匯集,它描述這些數(shù)據(jù)的特征及與數(shù)據(jù)對(duì)應(yīng)的實(shí)體間的關(guān)系,
并支持一個(gè)或多個(gè)應(yīng)用領(lǐng)域。
2.3數(shù)據(jù)庫適配器databaseadapter
按指定要求和標(biāo)準(zhǔn)規(guī)范進(jìn)行數(shù)據(jù)庫訪問的功能組件,通過對(duì)配置文件的解析和處理,完
成數(shù)據(jù)庫訪問,實(shí)現(xiàn)數(shù)據(jù)采集和交換。
2.4數(shù)據(jù)庫訪問接口databaseaccessinterface
嵌入各環(huán)保業(yè)務(wù)數(shù)據(jù)庫中、專門針對(duì)外部應(yīng)用訪問所做的配置。數(shù)據(jù)庫訪問接口與適配
器相適應(yīng),能夠?qū)崿F(xiàn)外部應(yīng)用對(duì)環(huán)保業(yè)務(wù)數(shù)據(jù)庫內(nèi)容的訪問。
2.5存儲(chǔ)過程storedprocedure
一組為了完成特定功能的SQL(StructuredQueryLanguage)語句集合,經(jīng)編譯后存儲(chǔ)
在數(shù)據(jù)庫中。
2.6觸發(fā)器trigger
特殊的存儲(chǔ)過程,它的執(zhí)行只由事件觸發(fā),如對(duì)一個(gè)數(shù)據(jù)庫表進(jìn)行插入、刪除、更新操
作(insert,delete,update)時(shí)激活它執(zhí)行。
2.7時(shí)間戳timestamp
指明時(shí)間上相對(duì)于通用時(shí)標(biāo)、精確到秒級(jí)的某一時(shí)間點(diǎn)的數(shù)據(jù)項(xiàng)。
3數(shù)據(jù)庫訪問接口框架
在環(huán)境信息系統(tǒng)數(shù)據(jù)管理中,數(shù)據(jù)庫訪問接口用于獲取同域內(nèi)的各個(gè)業(yè)務(wù)應(yīng)用的數(shù)據(jù)庫
內(nèi)容。對(duì)各個(gè)業(yè)務(wù)系統(tǒng)提供的數(shù)據(jù)庫訪問接口統(tǒng)一規(guī)定,便于其他業(yè)務(wù)應(yīng)用系統(tǒng)出于數(shù)據(jù)傳
輸或數(shù)據(jù)集成的目的進(jìn)行數(shù)據(jù)庫訪問。
環(huán)境信息系統(tǒng)數(shù)據(jù)庫訪問接口框架見圖1。
1
圖1環(huán)境信息系統(tǒng)數(shù)據(jù)庫訪問接口框架
環(huán)境信息系統(tǒng)數(shù)據(jù)庫訪問者通過數(shù)據(jù)庫訪問接口訪問不同的環(huán)境信息系統(tǒng)數(shù)據(jù)庫。數(shù)據(jù)
庫訪問者與嵌入在環(huán)境信息系統(tǒng)數(shù)據(jù)庫中的數(shù)據(jù)庫訪問接口進(jìn)行交互,獲取環(huán)境業(yè)務(wù)應(yīng)用數(shù)
據(jù)庫的內(nèi)容。
4數(shù)據(jù)庫訪問接口方式
4.1數(shù)據(jù)庫視圖方式
在實(shí)際業(yè)務(wù)中,對(duì)環(huán)境信息系統(tǒng)數(shù)據(jù)庫進(jìn)行訪問,需定制數(shù)據(jù)與其訪問需求有關(guān)的數(shù)據(jù)
內(nèi)容,同時(shí)須保證被訪問的原始業(yè)務(wù)數(shù)據(jù)的安全性。
數(shù)據(jù)庫視圖是從一個(gè)或幾個(gè)基本表中根據(jù)用戶需要而制作的虛擬表,能夠?yàn)閿?shù)據(jù)提供一
定的邏輯獨(dú)立性,其數(shù)據(jù)內(nèi)容可以隨著基表的更新而更新。同時(shí),用戶對(duì)視圖不能隨意更改
和刪除,可以保證數(shù)據(jù)的安全性。
故對(duì)環(huán)境信息系統(tǒng)的數(shù)據(jù)庫進(jìn)行全庫訪問時(shí),可采用數(shù)據(jù)庫視圖的訪問接口方式。
4.1.1接口方式描述
根據(jù)訪問者的訪問需要,在環(huán)境信息系統(tǒng)數(shù)據(jù)庫中分別創(chuàng)建數(shù)據(jù)庫視圖,并對(duì)視圖賦予
相應(yīng)訪問權(quán)限。
4.1.2接口配置方式
使用環(huán)境信息系統(tǒng)數(shù)據(jù)庫標(biāo)準(zhǔn)的創(chuàng)建視圖語句。
4.1.3工作流程
數(shù)據(jù)庫視圖工作方式見圖2。
2
圖2數(shù)據(jù)庫視圖工作方式
a)將環(huán)境信息系統(tǒng)數(shù)據(jù)表的數(shù)據(jù)內(nèi)容根據(jù)訪問者需要,通過數(shù)據(jù)庫視圖創(chuàng)建命令創(chuàng)建相
應(yīng)的數(shù)據(jù)庫視圖;
b)訪問者根據(jù)需要訪問數(shù)據(jù)庫視圖獲取所需要的環(huán)境信息系統(tǒng)數(shù)據(jù)。
4.2觸發(fā)器方式
4.2.1接口方式描述
觸發(fā)器方式是指在源數(shù)據(jù)庫的業(yè)務(wù)應(yīng)用數(shù)據(jù)表中添加觸發(fā)器,監(jiān)控?cái)?shù)據(jù)表的新增、修改、
刪除操作。當(dāng)操作成功時(shí),觸發(fā)相應(yīng)的觸發(fā)器將該記錄的主鍵等信息插入到指定的訪問接口
中間表,然后數(shù)據(jù)庫訪問者從訪問接口中間表中獲得業(yè)務(wù)數(shù)據(jù)內(nèi)容的變更情況,從而達(dá)到實(shí)
時(shí)的數(shù)據(jù)庫增量訪問效果。
4.2.2接口配置方式
a)在被訪問的環(huán)境信息系統(tǒng)數(shù)據(jù)庫中建立一張?jiān)L問接口中間表,用于存放相關(guān)觸發(fā)器
和臨時(shí)交換記錄。不同的環(huán)境信息系統(tǒng)臨時(shí)交換記錄都采用統(tǒng)一的中間表格式,具
體包括:
xT_Oth_Msg
b)創(chuàng)建一個(gè)對(duì)訪問接口中間表做操作的存儲(chǔ)過程,用于執(zhí)行相關(guān)的觸發(fā)操作,具體包
括:
xP_QueueMsg
c)針對(duì)要實(shí)時(shí)訪問的數(shù)據(jù)表建立新增和修改、刪除的觸發(fā)器,用于觸發(fā)操作,具體包
括:
xTR_AddTrigger_I
xTR_UpdateTrigger_U
xTR_DeleteTrigger_D
由于觸發(fā)器方式只是對(duì)業(yè)務(wù)應(yīng)用數(shù)據(jù)表進(jìn)行操作監(jiān)控,且只對(duì)訪問接口中間表進(jìn)行操作,
因此不會(huì)對(duì)被監(jiān)控的業(yè)務(wù)應(yīng)用數(shù)據(jù)表造成任何影響。
3
中間表的格式內(nèi)容和存儲(chǔ)過程參見附錄A、附錄B。
4.2.3工作流程
環(huán)境信息系統(tǒng)數(shù)據(jù)庫的實(shí)時(shí)訪問是指當(dāng)業(yè)務(wù)應(yīng)用數(shù)據(jù)內(nèi)容發(fā)生變化(包括新增、更新、
刪除等操作)時(shí),實(shí)時(shí)地觸發(fā)數(shù)據(jù)庫訪問者,對(duì)業(yè)務(wù)應(yīng)用數(shù)據(jù)庫內(nèi)容進(jìn)行訪問,實(shí)時(shí)獲取業(yè)
務(wù)數(shù)據(jù)的變化情況。
環(huán)境信息系統(tǒng)數(shù)據(jù)庫的實(shí)時(shí)訪問采用觸發(fā)器方式的數(shù)據(jù)庫訪問接口,具體流程見圖3。
圖3數(shù)據(jù)庫觸發(fā)器訪問流程
a)信息系統(tǒng)數(shù)據(jù)表的內(nèi)容在執(zhí)行相關(guān)操作的時(shí)候,通過觸發(fā)器將受影響的記錄直接推
送到數(shù)據(jù)庫訪問接口的中間表中。如果受影響記錄的字段數(shù)未超過中間表的字段數(shù),
則將受影響記錄的所有信息推送;
b)數(shù)據(jù)庫訪問者從訪問接口中間表中獲得業(yè)務(wù)數(shù)據(jù)內(nèi)容的變更情況;
c)當(dāng)受影響的記錄字段數(shù)超過中間表的字段數(shù)時(shí),僅將受影響記錄的主鍵等唯一標(biāo)識(shí)
信息推送到中間表。數(shù)據(jù)庫訪問者也可以根據(jù)中間表中的數(shù)據(jù)內(nèi)容,直接訪問業(yè)務(wù)
應(yīng)用數(shù)據(jù)表,獲得業(yè)務(wù)應(yīng)用數(shù)據(jù)內(nèi)容。
4.3時(shí)間戳方式
4.3.1接口方式描述
時(shí)間戳方式是指在數(shù)據(jù)表中配置時(shí)間字段,定時(shí)輪詢數(shù)據(jù)庫是否發(fā)生新增或更新的操作,
以達(dá)到數(shù)據(jù)增量同步的作用。采用時(shí)間戳方式的數(shù)據(jù)庫訪問者將上次執(zhí)行的時(shí)間與當(dāng)前數(shù)據(jù)
表中的時(shí)間字段進(jìn)行比較,甄別在上一時(shí)間周期內(nèi)發(fā)生了新增或更新操作的數(shù)據(jù)庫記錄,從
而達(dá)到訪問數(shù)據(jù)的目的。
4.3.2接口配置方式
a)在被訪問的環(huán)境信息系統(tǒng)數(shù)據(jù)表中,創(chuàng)建用于比較的時(shí)間戳字段:Create_Time、
Update_Time;
b)每個(gè)被訪問的環(huán)境信息系統(tǒng)數(shù)據(jù)表都必須有兩個(gè)用于輪詢的時(shí)間字段作為時(shí)間戳。
一個(gè)用于記錄創(chuàng)建時(shí)間,另一個(gè)用于記錄修改時(shí)間:Create_Time、Update_Time。
4
時(shí)間戳字段的數(shù)據(jù)類型為業(yè)務(wù)應(yīng)用數(shù)據(jù)庫的時(shí)間類型,格式必須為:年月日時(shí)分秒
(例如:2009-8-2012:00:00)。
每次查詢數(shù)據(jù)表時(shí),對(duì)表中所有的數(shù)據(jù)按時(shí)間進(jìn)行遍歷查詢,取出最新的記錄。這樣,
如果源數(shù)據(jù)庫中數(shù)據(jù)過多,進(jìn)行定時(shí)輪詢時(shí)就會(huì)對(duì)交換的性能造成影響。
填入時(shí)間戳的方式有多種,如通過數(shù)據(jù)庫結(jié)構(gòu)化查詢語句(StructureQueryLanguage)
填入值、觸發(fā)器方式自動(dòng)填入值等。建議采取建立觸發(fā)器方式,自動(dòng)獲取當(dāng)前操作時(shí)間并填
入到對(duì)應(yīng)的字段中。
時(shí)間戳觸發(fā)器編寫方式參見附錄C、附錄D。
4.3.3工作流程
環(huán)境信息系統(tǒng)數(shù)據(jù)庫的定時(shí)訪問是指數(shù)據(jù)庫訪問者按照預(yù)定的時(shí)間周期,定時(shí)訪問環(huán)境
信息系統(tǒng)數(shù)據(jù)庫,并根據(jù)系統(tǒng)數(shù)據(jù)表的時(shí)間戳,獲取上一時(shí)間周期里的環(huán)境信息系統(tǒng)數(shù)據(jù)庫
所發(fā)生的變化內(nèi)容(包括新增、更新、刪除等操作)。
環(huán)境信息系統(tǒng)數(shù)據(jù)庫的定時(shí)訪問通常采用時(shí)間戳方式的數(shù)據(jù)庫訪問接口。具體流程見圖
4。
圖4數(shù)據(jù)庫時(shí)間戳定時(shí)訪問流程
a)業(yè)務(wù)應(yīng)用數(shù)據(jù)表在新增、更新的同時(shí),更新時(shí)間戳字段的內(nèi)容;
b)數(shù)據(jù)庫訪問者定時(shí)訪問業(yè)務(wù)應(yīng)用數(shù)據(jù)表,根據(jù)時(shí)間戳字段所記錄的新增和更新時(shí)間
戳,獲取上個(gè)時(shí)間周期里的業(yè)務(wù)應(yīng)用數(shù)據(jù)庫的變化內(nèi)容。
4.4應(yīng)用服務(wù)接口方式
專用于應(yīng)用層面數(shù)據(jù)庫訪問,建議采用在線應(yīng)用服務(wù)(webservice)接口方式。
4.4.1接口方式描述
通過在線應(yīng)用服務(wù)接口對(duì)環(huán)境信息數(shù)據(jù)庫中數(shù)據(jù)進(jìn)行訪問,從而獲取所需要的信息。
4.4.2接口配置方式
被訪問的環(huán)境信息系統(tǒng)根據(jù)訪問者需要,專門開發(fā)一套只用于當(dāng)前環(huán)境信息系統(tǒng)訪問的
在線應(yīng)用服務(wù)軟件。
5
開發(fā)的應(yīng)用服務(wù)軟件安裝在訪問者可訪問到的運(yùn)行環(huán)境中。
4.4.3工作流程
應(yīng)用服務(wù)接口方式見圖5。
圖5應(yīng)用服務(wù)接口工作方式
a)訪問者在訪問環(huán)境信息系統(tǒng)數(shù)據(jù)庫中數(shù)據(jù)時(shí),調(diào)用在線應(yīng)用服務(wù)接口;
b)應(yīng)用服務(wù)接口根據(jù)應(yīng)用者要求,訪問信息系統(tǒng)數(shù)據(jù),并將訪問結(jié)果反饋給訪問者。
5環(huán)境信息系統(tǒng)數(shù)據(jù)庫訪問接口推薦訪問方式
環(huán)境信息系統(tǒng)數(shù)據(jù)庫訪問按照訪問的環(huán)境信息數(shù)據(jù)內(nèi)容可分為全部數(shù)據(jù)訪問和增量數(shù)據(jù)
訪問。全部環(huán)境信息數(shù)據(jù)訪問建議采用數(shù)據(jù)庫視圖的接口方式,增量環(huán)境信息數(shù)據(jù)訪問建議
采用觸發(fā)器和時(shí)間戳的接口方式。
數(shù)據(jù)庫訪問方式參見附錄E。
在應(yīng)用層面數(shù)據(jù)庫訪問方式中,建議采用應(yīng)用服務(wù)接口方式。
不同的環(huán)境信息系統(tǒng)采取不同的數(shù)據(jù)庫體系,本規(guī)范針對(duì)部分主要環(huán)境信息系統(tǒng)關(guān)系型數(shù)
據(jù)庫訪問方式進(jìn)行說明。具體推薦方案見表1。
表1環(huán)境信息系統(tǒng)推薦數(shù)據(jù)庫訪問方式
序號(hào)類型環(huán)境信息系統(tǒng)推薦訪問方式
1自動(dòng)監(jiān)控類實(shí)時(shí)數(shù)據(jù)觸發(fā)器
河流水質(zhì)自動(dòng)監(jiān)測
歷史數(shù)據(jù)時(shí)間戳
實(shí)時(shí)數(shù)據(jù)觸發(fā)器
空氣質(zhì)量自動(dòng)監(jiān)測
歷史數(shù)據(jù)時(shí)間戳
實(shí)時(shí)數(shù)據(jù)觸發(fā)器
飲用水源自動(dòng)監(jiān)測
歷史數(shù)據(jù)時(shí)間戳
實(shí)時(shí)數(shù)據(jù)觸發(fā)器
污染源在線監(jiān)控
歷史數(shù)據(jù)時(shí)間戳
實(shí)時(shí)數(shù)據(jù)觸發(fā)器
機(jī)動(dòng)車尾氣自動(dòng)檢測
歷史數(shù)據(jù)時(shí)間戳
實(shí)時(shí)數(shù)據(jù)觸發(fā)器
輻射環(huán)境監(jiān)控
歷史數(shù)據(jù)時(shí)間戳
實(shí)時(shí)數(shù)據(jù)觸發(fā)器
危險(xiǎn)廢棄物在線監(jiān)控
歷史數(shù)據(jù)時(shí)間戳
6
其他
建設(shè)項(xiàng)目管理應(yīng)用服務(wù)接口
排污許可證管理時(shí)間戳
排污收費(fèi)管理時(shí)間戳
環(huán)保移動(dòng)執(zhí)法管理時(shí)間戳
2業(yè)務(wù)管理類
環(huán)境信訪投訴管理應(yīng)用服務(wù)接口
行政處罰管理應(yīng)用服務(wù)接口
公文文件管理觸發(fā)器
其他
環(huán)境統(tǒng)計(jì)數(shù)據(jù)庫視圖
全國城市環(huán)境綜合整治定量考核數(shù)據(jù)庫視圖
3統(tǒng)計(jì)考核類
污染源普查數(shù)據(jù)庫視圖
其他
6數(shù)據(jù)庫訪問條件
對(duì)某一數(shù)據(jù)庫進(jìn)行訪問時(shí),在網(wǎng)絡(luò)連通的情況下,需具備以下條件:
a)獲取數(shù)據(jù)庫管理系統(tǒng)(DBMS)類型;
b)獲取被訪問的數(shù)據(jù)庫所在服務(wù)器的網(wǎng)絡(luò)地址;
c)獲取被訪問的數(shù)據(jù)庫的實(shí)例名;
d)獲取數(shù)據(jù)庫的用戶名及口令。
7
附錄A
(資料性附錄)
觸發(fā)器方式數(shù)據(jù)庫接口的SQL腳本(MicrosoftSQLServer)
A.1觸發(fā)器方式數(shù)據(jù)庫接口的中間表創(chuàng)建腳本
CREATETABLE[dbo].[T_Oth_Msg](
[PK_MsgId][numeric](28,0)IDENTITY(1,1)NOTNULL,
[MsgQueuedAt][datetime]NOTNULL,
[MsgStatus][varchar](10)COLLATEChinese_PRC_CI_ASNOTNULL,
[MsgDeliveredAt][datetime]NULL,
[MsgFailedText][varchar](255)COLLATEChinese_PRC_CI_ASNULL,
[OperationType][varchar](10)COLLATEChinese_PRC_CI_ASNULL,
[MsgParam1][varchar](255)COLLATEChinese_PRC_CI_ASNULL,
[MsgParam2][varchar](255)COLLATEChinese_PRC_CI_ASNULL,
[MsgParam3][varchar](255)COLLATEChinese_PRC_CI_ASNULL,
[MsgParam4][varchar](255)COLLATEChinese_PRC_CI_ASNULL,
[MsgParam5][varchar](255)COLLATEChinese_PRC_CI_ASNULL,
[MsgParam6][varchar](255)COLLATEChinese_PRC_CI_ASNULL,
[MsgParam7][varchar](255)COLLATEChinese_PRC_CI_ASNULL,
[MsgParam8][varchar](255)COLLATEChinese_PRC_CI_ASNULL,
[MsgParam9][varchar](255)COLLATEChinese_PRC_CI_ASNULL,
[MsgParam10][varchar](255)COLLATEChinese_PRC_CI_ASNULL,
)ON[PRIMARY]
GO
表字段說明見表A.1。
表A.1字段說明表
字段名字段中文名應(yīng)用意義
PK_MsgId臨時(shí)記錄id中間表的主鍵
MsgQueuedAt臨時(shí)記錄推送的時(shí)間臨時(shí)記錄從中間表中推送的時(shí)間
MsgStatus臨時(shí)記錄的狀態(tài)標(biāo)識(shí)臨時(shí)記錄是否為待推送的信息
MsgDeliveredAt臨時(shí)記錄推送到目的地的時(shí)間臨時(shí)記錄推送到目的地的時(shí)間
MsgFailedText臨時(shí)記錄推送失敗的提示信息臨時(shí)記錄推送失敗的詳細(xì)信息
臨時(shí)記錄在業(yè)務(wù)數(shù)據(jù)表中執(zhí)行的操作(新
OperationType臨時(shí)記錄的操作類型
增、更新、刪除)
MsgParam1臨時(shí)記錄信息臨時(shí)記錄的具體信息,來源于存儲(chǔ)過程中
8
的參數(shù)值
臨時(shí)記錄的具體信息,來源于存儲(chǔ)過程中
MsgParam2臨時(shí)記錄信息
的參數(shù)值
臨時(shí)記錄的具體信息,來源于存儲(chǔ)過程中
MsgParam3臨時(shí)記錄信息
的參數(shù)值
臨時(shí)記錄的具體信息,來源于存儲(chǔ)過程中
MsgParam4臨時(shí)記錄信息
的參數(shù)值
臨時(shí)記錄的具體信息,來源于存儲(chǔ)過程中
MsgParam5臨時(shí)記錄信息
的參數(shù)值
臨時(shí)記錄的具體信息,來源于存儲(chǔ)過程中
MsgParam6臨時(shí)記錄信息
的參數(shù)值
臨時(shí)記錄的具體信息,來源于存儲(chǔ)過程中
MsgParam7臨時(shí)記錄信息
的參數(shù)值
臨時(shí)記錄的具體信息,來源于存儲(chǔ)過程中
MsgParam8臨時(shí)記錄信息
的參數(shù)值
臨時(shí)記錄的具體信息,來源于存儲(chǔ)過程中
MsgParam9臨時(shí)記錄信息
的參數(shù)值
臨時(shí)記錄的具體信息,來源于存儲(chǔ)過程中
MsgParam10臨時(shí)記錄信息
的參數(shù)值
A.2觸發(fā)器方式數(shù)據(jù)庫接口的存儲(chǔ)過程腳本
createproc[dbo].[P_Trigger_業(yè)務(wù)應(yīng)用數(shù)據(jù)表名]
@OperationTypevarchar(10),
@MsgParam1varchar(255)=NULL,
@MsgParam2varchar(255)=NULL,
@MsgParam3varchar(255)=NULL,
@MsgParam4varchar(255)=NULL,
@MsgParam5varchar(255)=NULL,
@MsgParam6varchar(255)=NULL,
@MsgParam7varchar(255)=NULL,
@MsgParam8varchar(255)=NULL,
@MsgParam9varchar(255)=NULL,
@MsgParam10varchar(255)=NULL
as
BEGIN
declare@ErrorCodeint,@ErrorMessagevarchar(255),@NumRowsint
select@ErrorCode=0
insertT_Oth_Msg(MsgQueuedAt,MsgStatus,MsgDeliveredAt,
9
MsgFailedText,OperationType,MsgParam1,MsgParam2,MsgParam3,MsgParam4,MsgParam5,
MsgParam6,MsgParam7,MsgParam8,MsgParam9,MsgParam10)selectgetdate(),'NEW',NULL,
NULL,@OperationType,@MsgParam1,@MsgParam2,@MsgParam3,@MsgParam4,
@MsgParam5,@MsgParam6,@MsgParam7,@MsgParam8,@MsgParam9,@MsgParam10
select@ErrorCode=@@error,@NumRows=@@rowcountreturn@ErrorCode
END
GO
存儲(chǔ)過程參數(shù)設(shè)置說明見表A.2。
表A.2存儲(chǔ)過程參數(shù)表
參數(shù)名參數(shù)含義
MsgQueuedAt臨時(shí)記錄從中間表中推送的時(shí)間
MsgStatus標(biāo)識(shí)臨時(shí)記錄是否為待推送的信息
MsgDeliveredAt臨時(shí)記錄推送到目的地的時(shí)間
MsgFailedText臨時(shí)記錄推送失敗的詳細(xì)信息
OperationType臨時(shí)記錄在業(yè)務(wù)數(shù)據(jù)表中執(zhí)行的操作(新增、更新、刪除)
MsgParam1業(yè)務(wù)數(shù)據(jù)表中受影響記錄的具體信息
MsgParam2業(yè)務(wù)數(shù)據(jù)表中受影響記錄的具體信息
MsgParam3業(yè)務(wù)數(shù)據(jù)表中受影響記錄的具體信息
MsgParam4業(yè)務(wù)數(shù)據(jù)表中受影響記錄的具體信息
MsgParam5業(yè)務(wù)數(shù)據(jù)表中受影響記錄的具體信息
MsgParam6業(yè)務(wù)數(shù)據(jù)表中受影響記錄的具體信息
MsgParam7業(yè)務(wù)數(shù)據(jù)表中受影響記錄的具體信息
MsgParam8業(yè)務(wù)數(shù)據(jù)表中受影響記錄的具體信息
MsgParam9業(yè)務(wù)數(shù)據(jù)表中受影響記錄的具體信息
MsgParam10業(yè)務(wù)數(shù)據(jù)表中受影響記錄的具體信息
A.3觸發(fā)器方式數(shù)據(jù)庫接口的觸發(fā)器腳本
CREATETRIGGERTR_業(yè)務(wù)應(yīng)用數(shù)據(jù)表名_ION[dbo].[業(yè)務(wù)應(yīng)用數(shù)據(jù)表名]FORinsertAS
BEGIN
declare[表字段1,表字段2,表字段3…]
declarecursor_insertcursorforselect"表主鍵"frominserted
opencursor_insert
fetchcursor_insertinto@表字段1,@表字段2,@表字段3…
while@@fetch_status=0
BEGIN
execP_Trigger_業(yè)務(wù)應(yīng)用數(shù)據(jù)表名@OperationType='insert',@MsgParam1=@表字段
10
1,@MsgParam2=@表字段2,@MsgParam3=@表字段3…
fetchcursor_insertinto@表字段1,@表字段2,@表字段3…
END
closecursor_insert
deallocatecursor_insert
END
GO
CREATETRIGGERTR_業(yè)務(wù)應(yīng)用數(shù)據(jù)表名_UON[dbo].[表名]FORupdateAS
BEGIN
declare[表字段1,表字段2,表字段3…]
declarecursor_insertcursorforselect"表主鍵"frominserted
opencursor_insert
fetchcursor_insertinto@表字段1,@表字段2,@表字段3…
while@@fetch_status=0
BEGIN
execP_Trigger_業(yè)務(wù)應(yīng)用數(shù)據(jù)表名@OperationType='update',@MsgParam1=@表字
段1,@MsgParam2=@表字段2,@MsgParam3=@表字段3…
fetchcursor_insertinto@表字段1,@表字段2,@表字段3…
END
closecursor_insert
deallocatecursor_insert
END
GO
CREATETRIGGERTR_業(yè)務(wù)應(yīng)用數(shù)據(jù)表名_DON[dbo].[表名]FORdeleteAS
BEGIN
declare[表字段1,表字段2,表字段3…]
declarecursor_insertcursorforselect"表主鍵"fromdeleted
opencursor_insert
fetchcursor_insertinto@表字段1,@表字段2,@表字段3…
while@@fetch_status=0
BEGIN
execP_Trigger_業(yè)務(wù)應(yīng)用數(shù)據(jù)表名@OperationTypeName='delete',@MsgParam1=@表字
段1,@MsgParam2=@表字段2,@MsgParam3=@表字段3…
fetchcursor_insertinto@表字段1,@表字段2,@表字段3…
11
END
closecursor_insert
deallocatecursor_insert
END
觸發(fā)器參數(shù)設(shè)置說明:
觸發(fā)器中使用到的參數(shù)與存儲(chǔ)過程、中間表中使用的字段含義一致。
觸發(fā)器方式的數(shù)據(jù)庫訪問接口由中間表、存儲(chǔ)過程、觸發(fā)器之間相互配合完成,具體流
程為:
由觸發(fā)器對(duì)業(yè)務(wù)數(shù)據(jù)表進(jìn)行實(shí)時(shí)監(jiān)控。當(dāng)業(yè)務(wù)數(shù)據(jù)表有變化時(shí),對(duì)應(yīng)的觸發(fā)器對(duì)發(fā)生的
變化進(jìn)行捕獲,并調(diào)用相應(yīng)的存儲(chǔ)過程,將發(fā)生的變化信息存儲(chǔ)到中間表中。
12
附錄B
(資料性附錄)
觸發(fā)器方式數(shù)據(jù)庫接口的SQL腳本(Oracle)
B.1觸發(fā)器方式數(shù)據(jù)庫接口的中間表創(chuàng)建腳本
droptable"T_Oth_Msg"cascadeconstraints;
createtable"T_Oth_Msg"(
"PK_MsgId"bigintnotnull,
"MsgQueuedAt"datetime,
"MsgStatus"varchar(10),
"MsgDeliveredAt"datetimeNULL,
"MsgFailedText"varchar(255)NULL,
"OperationType"varchar(10)NULL,
"MsgParam1"varchar(255)NULL,
"MsgParam2"varchar(255)NULL,
"MsgParam3"varchar(255)NULL,
"MsgParam4"varchar(255)NULL,
"MsgParam5"varchar(255)NULL,
"MsgParam6"varchar(255)NULL,
"MsgParam7"varchar(255)NULL,
"MsgParam8"varchar(255)NULL,
"MsgParam9"varchar(255)NULL,
"MsgParam10"varchar(255)NULL,
constraintPK_T_OTH_MSGprimarykey("PK_MsgId")
);
createsequenceseq_t_oth_msgminvalue1000maxvalue99999999startwith1000increment
by1nocache;
表字段說明見表B.1。
表B.1字段說明表
字段名字段中文名應(yīng)用意義
PK_MsgId臨時(shí)記錄id中間表的主鍵
MsgQueuedAt臨時(shí)記錄推送的時(shí)間臨時(shí)記錄從中間表中推送的時(shí)間
MsgStatus臨時(shí)記錄的狀態(tài)標(biāo)識(shí)臨時(shí)記錄是否為待推送的信息
MsgDeliveredAt臨時(shí)記錄推送到目的地的時(shí)間臨時(shí)記錄推送到目的地的時(shí)間
MsgFailedText臨時(shí)記錄推送失敗的提示信息臨時(shí)記錄推送失敗的詳細(xì)信息
OperationType臨時(shí)記錄的操作類型臨時(shí)記錄在業(yè)務(wù)數(shù)據(jù)表中執(zhí)行的操作(新
13
增、更新、刪除)
臨時(shí)記錄的具體信息,來源于存儲(chǔ)過程中
MsgParam1臨時(shí)記錄信息
的參數(shù)值
臨時(shí)記錄的具體信息,來源于存儲(chǔ)過程中
MsgParam2臨時(shí)記錄信息
的參數(shù)值
臨時(shí)記錄的具體信息,來源于存儲(chǔ)過程中
MsgParam3臨時(shí)記錄信息
的參數(shù)值
臨時(shí)記錄的具體信息,來源于存儲(chǔ)過程中
MsgParam4臨時(shí)記錄信息
的參數(shù)值
臨時(shí)記錄的具體信息,來源于存儲(chǔ)過程中
MsgParam5臨時(shí)記錄信息
的參數(shù)值
臨時(shí)記錄的具體信息,來源于存儲(chǔ)過程中
MsgParam6臨時(shí)記錄信息
的參數(shù)值
臨時(shí)記錄的具體信息,來源于存儲(chǔ)過程中
MsgParam7臨時(shí)記錄信息
的參數(shù)值
臨時(shí)記錄的具體信息,來源于存儲(chǔ)過程中
MsgParam8臨時(shí)記錄信息
的參數(shù)值
臨時(shí)記錄的具體信息,來源于存儲(chǔ)過程中
MsgParam9臨時(shí)記錄信息
的參數(shù)值
臨時(shí)記錄的具體信息,來源于存儲(chǔ)過程中
MsgParam10臨時(shí)記錄信息
的參數(shù)值
B.2觸發(fā)器方式數(shù)據(jù)庫接口的存儲(chǔ)過程腳本
createorreplaceprocedureP_QueueMsg_業(yè)務(wù)應(yīng)用數(shù)據(jù)表名(
OperateTypeinvarchar2,
MsgParam1invarchar2,
MsgParam2invarchar2,
MsgParam3invarchar2,
MsgParam4invarchar2,
MsgParam5invarchar2,
MsgParam6invarchar2,
MsgParam7invarchar2,
MsgParam8invarchar2,
MsgParam9invarchar2,
MsgParam10invarchar2
)
as
14
begin
insertintoT_Oth_Msg(PK_MsgId,MsgQueuedAt,MsgStatus,MsgDeliveredAt,
MsgFailedText,OperationType,MsgParam1,MsgParam2,MsgParam3,MsgParam4,MsgParam5,
MsgParam6,MsgParam7,MsgParam8,MsgParam9,MsgParam10)
values(seq_t_oth_msg.nextval,sysdate,'NEW',NULL,NULL,OperationType,MsgParam1,
MsgParam2,MsgParam3,MsgParam4,MsgParam5,MsgParam6,MsgParam7,MsgParam8,
MsgParam9,MsgParam10);
endP_Trigger_業(yè)務(wù)應(yīng)用數(shù)據(jù)表名;
存儲(chǔ)過程參數(shù)設(shè)置說明見表B.2。
表B.2存儲(chǔ)過程參數(shù)設(shè)置說明
參數(shù)名參數(shù)含義
MsgQueuedAt臨時(shí)記錄從中間表中推送的時(shí)間
MsgStatus標(biāo)識(shí)臨時(shí)記錄是否為待推送的信息
MsgDeliveredAt臨時(shí)記錄推送到目的地的時(shí)間
MsgFailedText臨時(shí)記錄推送失敗的詳細(xì)信息
OperationType臨時(shí)記錄在業(yè)務(wù)數(shù)據(jù)表中執(zhí)行的操作(新增、更新、刪除)
MsgParam1業(yè)務(wù)數(shù)據(jù)表中受影響記錄的具體信息
MsgParam2業(yè)務(wù)數(shù)據(jù)表中受影響記錄的具體信息
MsgParam3業(yè)務(wù)數(shù)據(jù)表中受影響記錄的具體信息
MsgParam4業(yè)務(wù)數(shù)據(jù)表中受影響記錄的具體信息
MsgParam5業(yè)務(wù)數(shù)據(jù)表中受影響記錄的具體信息
MsgParam6業(yè)務(wù)數(shù)據(jù)表中受影響記錄的具體信息
MsgParam7業(yè)務(wù)數(shù)據(jù)表中受影響記錄的具體信息
MsgParam8業(yè)務(wù)數(shù)據(jù)表中受影響記錄的具體信息
MsgParam9業(yè)務(wù)數(shù)據(jù)表中受影響記錄的具體信息
MsgParam10業(yè)務(wù)數(shù)據(jù)表中受影響記錄的具體信息
B.3觸發(fā)器方式數(shù)據(jù)庫接口的觸發(fā)器腳本
createorreplacetrigger觸發(fā)器名
before[insert|update|delete]on業(yè)務(wù)應(yīng)用數(shù)據(jù)表名
foreachrow
begin
P_QueueMsg_業(yè)務(wù)應(yīng)用數(shù)據(jù)表名(['insert'|'update'|'delete'],表字段1,表字段2,...);
End
觸發(fā)器參數(shù)設(shè)置說明:
15
觸發(fā)器中使用到的參數(shù)與存儲(chǔ)過程、中間表中使用的字段含義一致。
觸發(fā)器方式的數(shù)據(jù)庫訪問接口由中間表、存儲(chǔ)過程、觸發(fā)器之間相互配合完成,具體流
程為:
由觸發(fā)器對(duì)業(yè)務(wù)數(shù)據(jù)表進(jìn)行實(shí)時(shí)監(jiān)控。當(dāng)業(yè)務(wù)數(shù)據(jù)表有變化時(shí),對(duì)應(yīng)的觸發(fā)器對(duì)發(fā)生的
變化進(jìn)行捕獲,并調(diào)用相應(yīng)的存儲(chǔ)過程,將發(fā)生的變化信息存儲(chǔ)到中間表中。
16
附錄C
(資料性附錄)
時(shí)間戳方式數(shù)據(jù)庫接口的SQL腳本(MicrosoftSQLServer)
時(shí)間戳方式數(shù)據(jù)庫接口的觸發(fā)器腳本。
CREATETRIGGER觸發(fā)器名
ON表名
FOR[INSERT|UPDATE]
ASUpdate表名set[create_time|update_time]=getdate();
觸發(fā)器參數(shù)設(shè)置說明見表C.1。
表C.1觸發(fā)器參數(shù)表
參數(shù)名參數(shù)中文名應(yīng)用意義
業(yè)務(wù)數(shù)據(jù)表中的字段,用于記錄表中數(shù)據(jù)
create_time業(yè)務(wù)數(shù)據(jù)的創(chuàng)建時(shí)間
的創(chuàng)建時(shí)間
業(yè)務(wù)數(shù)據(jù)表中的字段,用于記錄表中數(shù)據(jù)
update_time業(yè)務(wù)數(shù)據(jù)的更新時(shí)間
的更新時(shí)間
時(shí)間戳方式數(shù)據(jù)庫接口的觸發(fā)器工作流程為:
觸發(fā)器對(duì)業(yè)務(wù)數(shù)據(jù)表進(jìn)行實(shí)時(shí)監(jiān)控,當(dāng)業(yè)務(wù)數(shù)據(jù)表有變化時(shí),觸發(fā)該觸發(fā)器對(duì)發(fā)生變化
的時(shí)間進(jìn)行記錄,并插入到對(duì)應(yīng)的業(yè)務(wù)數(shù)據(jù)表時(shí)間字段中。
17
附錄D
(資料性附錄)
時(shí)間戳方式數(shù)據(jù)庫接口的SQL腳本(Oracle)
時(shí)間戳方式數(shù)據(jù)庫接口的觸發(fā)器腳本。
createorreplacetrigger觸發(fā)器名
before[insert|update]on業(yè)務(wù)應(yīng)用數(shù)據(jù)表名
foreachrow
begin
asupdate表名set[create_time|update_time]=sysdate;
end
觸發(fā)器參數(shù)設(shè)置說明見表D.1。
表D.1觸發(fā)器參數(shù)表
參數(shù)名參數(shù)中文名應(yīng)用意義
業(yè)務(wù)數(shù)據(jù)表中的字段,用于記錄表中數(shù)據(jù)
create_time業(yè)務(wù)數(shù)據(jù)的創(chuàng)建時(shí)間
的創(chuàng)建時(shí)間
業(yè)務(wù)數(shù)據(jù)表中的字段,用于記錄表中數(shù)據(jù)
update_time業(yè)務(wù)數(shù)據(jù)的更新時(shí)間
的更新時(shí)間
時(shí)間戳方式數(shù)據(jù)庫接口的觸發(fā)器工作流程為:
觸發(fā)器對(duì)業(yè)務(wù)數(shù)據(jù)表進(jìn)行實(shí)時(shí)監(jiān)控,當(dāng)業(yè)務(wù)數(shù)據(jù)表有變化時(shí),觸發(fā)該觸發(fā)器對(duì)發(fā)生變化
的時(shí)間進(jìn)行記錄,并插入到對(duì)應(yīng)的業(yè)務(wù)數(shù)據(jù)表時(shí)間字段中。
18
附錄E
(資料性附錄)
環(huán)境信息系統(tǒng)數(shù)據(jù)庫訪問示例
數(shù)據(jù)傳輸與交換平臺(tái)系統(tǒng)訪問國控重點(diǎn)污染源自動(dòng)監(jiān)控系統(tǒng)數(shù)據(jù)庫
E.1基本情況
系統(tǒng)名稱:國控重點(diǎn)污染源自動(dòng)監(jiān)控系統(tǒng)
訪問者:數(shù)據(jù)傳輸與交換平臺(tái)
數(shù)據(jù)庫訪問接口:視圖、時(shí)間戳
E.2訪問方式
數(shù)據(jù)庫訪問方式見圖E.1。
c)
適配器數(shù)據(jù)傳輸與交換平臺(tái)
d)
a)b)
信息系統(tǒng)時(shí)間戳
數(shù)據(jù)庫視圖
數(shù)據(jù)表
國控重點(diǎn)污染源自動(dòng)監(jiān)控系統(tǒng)數(shù)據(jù)庫
圖E.1數(shù)據(jù)傳輸與交換平臺(tái)訪問污染源自動(dòng)監(jiān)控系統(tǒng)數(shù)據(jù)庫方式
a)在國控重點(diǎn)污染源自動(dòng)監(jiān)控系統(tǒng)數(shù)據(jù)表中,將數(shù)據(jù)更新時(shí)間作為時(shí)間戳字段使用;
b)根據(jù)數(shù)據(jù)傳輸與交換平臺(tái)的訪問要求,將包含時(shí)間戳字段的數(shù)據(jù)表按照數(shù)據(jù)庫視圖接口
方式創(chuàng)建訪問視圖(為防止影響信息系統(tǒng)數(shù)據(jù)表,采取視圖方式);
c)數(shù)據(jù)傳輸與交換平臺(tái)通過適配器組件訪問國控重點(diǎn)污染源自動(dòng)監(jiān)控系統(tǒng)數(shù)據(jù)庫;
d)通過適配器配置輪詢方式,定期訪問數(shù)據(jù)庫視圖,根據(jù)當(dāng)前時(shí)間與時(shí)間戳字段的比較,
訪問最新數(shù)據(jù)。
19
目次
前言………………..II
1適用范圍………………1
2術(shù)語和定義……………1
3數(shù)據(jù)庫訪問接口框架…………………1
4數(shù)據(jù)庫訪問接口方式…………………2
5環(huán)境信息系統(tǒng)數(shù)據(jù)庫訪問接口推薦訪問方式………6
6數(shù)據(jù)庫訪問條件………………………7
附錄A(資料性附錄)觸發(fā)器方式數(shù)據(jù)庫接口的SQL腳本(MICROSOFTSQLSERVER)...8
附錄B(資料性附錄)觸發(fā)器方式數(shù)據(jù)庫接口的SQL腳本(ORACLE)…….13
附錄C(資料性附錄)時(shí)間戳方式數(shù)據(jù)庫接口的SQL腳本(MICROSOFTSQLSERVER).17
附錄D(資料性附錄)時(shí)間戳方式數(shù)據(jù)庫接口的SQL腳本(ORACLE)……18
附錄E(資料性附錄)環(huán)境信息系統(tǒng)數(shù)據(jù)庫訪問示例…………...19
I
HJ453—2018
附錄F
(資料性附錄)
報(bào)告書表格要求
F.1聲及振動(dòng)環(huán)境保護(hù)目標(biāo)現(xiàn)狀調(diào)查表
表F.1聲環(huán)境保護(hù)目標(biāo)表(地下線)
保護(hù)目標(biāo)概況
所在保護(hù)目標(biāo)聲環(huán)境功
序號(hào)所在車站聲源距聲源距離/m建設(shè)使用備注
行政區(qū)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 關(guān)鍵指標(biāo)解析的2025年信息系統(tǒng)監(jiān)理師考試試題及答案
- 信息系統(tǒng)監(jiān)理師考生心得試題及答案
- 公路工程執(zhí)照考試在線測試試題及答案
- 鐵合金冶煉中的原料選擇考核試卷
- 組織文化建設(shè)與變革管理考核試卷
- 竹材在戶外健身器材的應(yīng)用考核試卷
- 船用軸系的振動(dòng)分析與故障處理考核試卷
- 出租展廳車間管理制度
- 完善網(wǎng)絡(luò)相關(guān)管理制度
- 公司職工福利管理制度
- 2025年福建省廈門市思明區(qū)廈門第一中學(xué)初三5月二模試題英語試題含答案
- 食品行業(yè)銷售助理崗位職責(zé)
- 八省聯(lián)考陜西試題及答案
- 貨物破損回復(fù)函
- 3“貝”的故事 課件
- 消防防汛知識(shí)培訓(xùn)課件
- Unit2 What time is it B let's talk and learn(說課稿)-2023-2024學(xué)年人教PEP版英語四年級(jí)下冊(cè)
- QC實(shí)驗(yàn)室5S現(xiàn)場管理
- 攀成德鐵四院中鐵四院集團(tuán)績效考核管理制度
- 管制刀具校園安全
- 2024年山東省濟(jì)南市中考英語試題卷(含答案解析)
評(píng)論
0/150
提交評(píng)論