亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        關(guān)于利用觸發(fā)器實(shí)現(xiàn)自動(dòng)對(duì)遠(yuǎn)程數(shù)據(jù)庫(kù)寫入數(shù)據(jù)方法的探討

        2014-04-29 00:44:03蘇同建
        電子世界 2014年17期
        關(guān)鍵詞:觸發(fā)器煤礦企業(yè)

        蘇同建

        【摘要】不同數(shù)據(jù)庫(kù)之間的數(shù)據(jù)自動(dòng)同步及寫入功能作為數(shù)據(jù)庫(kù)應(yīng)用中比較重要的一項(xiàng)功能一直為大家所重視,本文通過一個(gè)利用觸發(fā)器實(shí)現(xiàn)煤礦瓦斯數(shù)據(jù)中斷后自動(dòng)發(fā)送短信提醒的實(shí)例展示如何實(shí)現(xiàn)自動(dòng)對(duì)遠(yuǎn)程數(shù)據(jù)庫(kù)寫入數(shù)據(jù)記錄一個(gè)獨(dú)特的方法,通過對(duì)此方法的探討為大家提供一種新穎的思路。

        【關(guān)鍵詞】煤礦企業(yè);觸發(fā)器;遠(yuǎn)程數(shù)據(jù)庫(kù);寫入數(shù)據(jù);短信提醒

        一家大型煤炭企業(yè),下屬十多個(gè)煤礦,該煤炭企業(yè)有煤礦安全生產(chǎn)實(shí)時(shí)監(jiān)測(cè)與監(jiān)管系統(tǒng)(以下簡(jiǎn)稱安全監(jiān)控系統(tǒng)),該系統(tǒng)可實(shí)現(xiàn)各礦瓦斯數(shù)據(jù)的上傳;還有一個(gè)短信平臺(tái)系統(tǒng),兩個(gè)系統(tǒng)使用的都是SQL SERVER數(shù)據(jù)庫(kù),部署在不同的服務(wù)器上?,F(xiàn)在想要實(shí)現(xiàn)安全監(jiān)控系統(tǒng)中若瓦斯數(shù)據(jù)上傳中斷則自動(dòng)給指定的手機(jī)發(fā)送短信,短信要寫明瓦斯中斷煤礦名稱及中斷時(shí)間和中斷情況。

        安全監(jiān)控系統(tǒng)中有一張表“實(shí)時(shí)通訊匯總顯示”,為各礦通訊狀態(tài)實(shí)時(shí)顯示,結(jié)構(gòu)如下:

        字段名 字段類型 說明

        礦名 Char(20)

        狀態(tài) Int(4) 正常狀態(tài)為“1”,服務(wù)器中斷則為“0”

        時(shí)間 Datetime(8)

        網(wǎng)絡(luò)狀態(tài) Int(4) 正常狀態(tài)為“1”,服務(wù)器中斷則為“-1”

        匯總時(shí)間 Datetime(8)

        短信平臺(tái)系統(tǒng)可以指定的手機(jī)發(fā)送短信,短信發(fā)送程序是每隔一定的時(shí)間對(duì)表sm_sms進(jìn)行一次掃描,若表sm_sms里有內(nèi)容,再根據(jù)接收人的手機(jī)號(hào)向外進(jìn)行發(fā)送,同時(shí)把已發(fā)送的記錄自動(dòng)插入到表sm_smsoutlog中。若接收用戶回復(fù)短消息,則系統(tǒng)自動(dòng)把回復(fù)的內(nèi)容插入到表sm_smsin中,因此,只需要把要發(fā)送的內(nèi)容按照表的結(jié)構(gòu)插入到sm_sms表中即可,這樣,短信即可正常發(fā)送出去。

        短信平臺(tái)系統(tǒng)中表sm_sms的結(jié)構(gòu)如下:

        字段名 字段類型 說明

        lsh Int(4) ?NOT NULL 插入的記錄編號(hào)

        nr Varchar(200) ?NOT NULL 發(fā)送內(nèi)容

        jssjh Char(15) ?NOT NULL 接收手機(jī)號(hào)

        jrrq Smalldatetime(4) ?YES 接收日期

        fsrq Smalldatetime(4) ?YES 發(fā)送日期

        fsbz Char(2) ?NOT NULL 發(fā)送標(biāo)志(插入時(shí),一定要置“否”字)

        ly Char(16) ?YES 可為NULL

        實(shí)現(xiàn)方法:

        根據(jù)情況,此數(shù)據(jù)寫入量不大但是有偶發(fā)性即不是定期寫入,擬通過觸發(fā)器來實(shí)現(xiàn)。在安全監(jiān)控系統(tǒng)中的“實(shí)時(shí)通訊匯總顯示”表中做一觸發(fā)器,要求“實(shí)時(shí)通訊匯總顯示”表一旦有礦的狀態(tài)和網(wǎng)絡(luò)狀態(tài)出現(xiàn)中斷的情況即朝短信平臺(tái)系統(tǒng)中的sm_sms表中插入一條記錄,以實(shí)現(xiàn)瓦斯中斷即發(fā)送短信的功能。

        首先應(yīng)該使兩個(gè)異地的數(shù)據(jù)庫(kù)建立聯(lián)接,在安全監(jiān)控系統(tǒng)服務(wù)器上的SQL Server數(shù)據(jù)庫(kù)中,在“安全性”-“鏈接服務(wù)器”中新建一個(gè)名為“KYSMS”的遠(yuǎn)程服務(wù)器鏈接,指向短信平臺(tái)服務(wù)器,如圖1所示。

        在“常規(guī)”選項(xiàng)卡中,數(shù)據(jù)源選擇“其它數(shù)據(jù)源”中的“Microsoft OLE DB Provider for SQL Server”,然后在下面的“數(shù)據(jù)源”輸入框中填入短信平臺(tái)服務(wù)器的IP地址,在“目錄”輸入框中輸入sm_sms表所在的數(shù)據(jù)庫(kù)名稱,如圖2所示。

        在“安全性”選項(xiàng)卡中,“本地登陸”填本地服務(wù)器SQL Server數(shù)據(jù)庫(kù)的用戶名,“遠(yuǎn)程用戶”和“遠(yuǎn)程密碼”中分別填寫短信平臺(tái)服務(wù)器的SQL Server數(shù)據(jù)庫(kù)的用戶名和登陸密碼。然后選擇“用此安全上下文進(jìn)行:”,并且在下面的“遠(yuǎn)程用戶”和“遠(yuǎn)程密碼”中分別填寫短信平臺(tái)服務(wù)器的SQL Server數(shù)據(jù)庫(kù)的用戶名和登陸密碼,如圖3所示。

        最后一步,在“服務(wù)器選項(xiàng)”卡中,選中“RPC”和“RPC輸出”這兩項(xiàng),默認(rèn)的只選中了“數(shù)據(jù)訪問”和“使用遠(yuǎn)程排序規(guī)則”這兩項(xiàng),也就是說一共要選中四項(xiàng),如圖4所示。

        然后點(diǎn)擊確定,至此遠(yuǎn)程數(shù)據(jù)庫(kù)聯(lián)接建立完畢。

        接下來我們?cè)龠M(jìn)行另一步更為重要的步驟:制作觸發(fā)器

        找到我們要制作觸發(fā)器的表,即瓦斯上傳服務(wù)器中的“實(shí)時(shí)通訊匯總顯示”表,在該表上單擊右鍵,選擇“所有任務(wù)”-“管理觸發(fā)器”,如圖5所示。

        在“文本”框中輸入觸發(fā)器內(nèi)容,如圖6所示。

        觸發(fā)器中的文本內(nèi)容如下:

        CREATE trigger 實(shí)時(shí)通訊中斷觸發(fā)器1

        on 實(shí)時(shí)通訊匯總顯示

        FOR INSERT UPDATE

        as

        declare @礦名 char(20),@狀態(tài) int,@時(shí)間 datetime,@網(wǎng)絡(luò)狀態(tài) int,@匯總時(shí)間 datetime

        begin

        set @礦名= (select [礦名] from Inserted )

        set @狀態(tài)= (select [狀態(tài)] from Inserted )

        set @時(shí)間= (select [時(shí)間] from Inserted )

        set @網(wǎng)絡(luò)狀態(tài)= (select [網(wǎng)絡(luò)狀態(tài)] from Inserted )

        set @匯總時(shí)間= (select [匯總時(shí)間] from Inserted )

        if (@狀態(tài) = 0 or @網(wǎng)絡(luò)狀態(tài) = -1)

        begin

        set XACT_ABORT ON

        insert into KYSMS.kysms.dbo.sm_sms([lsh],[nr],[jssjh],[fsbz]) values(193753,[‘+ltrim(@礦名)+]+通訊中斷,+服務(wù)器狀態(tài):+cast(ltrim(@狀態(tài)) as char(2))+,+網(wǎng)絡(luò)狀態(tài):+cast(ltrim(@網(wǎng)絡(luò)狀態(tài)) as char(2))+,+時(shí)間:+cast(ltrim(@時(shí)間) as char(18)),134********,否)

        insert into KYSMS.kysms.dbo.sm_sms([lsh],[nr],[jssjh],[fsbz]) values(193754,[‘+ltrim(@礦名)+]+通訊中斷,+服務(wù)器狀態(tài):+cast(ltrim(@狀態(tài)) as char(2))+,+網(wǎng)絡(luò)狀態(tài):+cast(ltrim(@網(wǎng)絡(luò)狀態(tài)) as char(2))+,+時(shí)間:+cast(ltrim(@時(shí)間) as char(18)),133********,否)

        insert into KYSMS.kysms.dbo.sm_sms([lsh],[nr],[jssjh],[fsbz]) values(193755,[‘+ltrim(@礦名)+]+通訊中斷,+服務(wù)器狀態(tài):+cast(ltrim(@狀態(tài)) as char(2))+,+網(wǎng)絡(luò)狀態(tài):+cast(ltrim(@網(wǎng)絡(luò)狀態(tài)) as char(2))+,+時(shí)間:+cast(ltrim(@時(shí)間) as char(18)),189********,否)

        set XACT_ABORT OFF

        end

        end

        說明:

        1.declare @礦名 char(20),@狀態(tài) int,@時(shí)間 datetime,@網(wǎng)絡(luò)狀態(tài) int,@匯總時(shí)間 datetime 這一句定義變量。

        2.set @礦名= (select [礦名] from Inserted )

        ……

        set @匯總時(shí)間= (select [匯總時(shí)間] from Inserted )設(shè)置變量名。

        3.SET XACT_ABORT 為 ON 時(shí),如果執(zhí)行 Transact-SQL 語句產(chǎn)生運(yùn)行時(shí)錯(cuò)誤,則整個(gè)事務(wù)將終止并回滾。

        4.insert into KYSMS.kysms.dbo.sm_sms(...)中,“KYSMS.kysms.dbo.sm_sms”用于聯(lián)接遠(yuǎn)程SQL Server數(shù)據(jù)庫(kù)中的表sm_sms,其中第一個(gè)KYSMS指我們前面建立的數(shù)據(jù)庫(kù)聯(lián)接(為便于區(qū)分也可以起其他名字),第二個(gè)kysms指sm_sms表所在的數(shù)據(jù)庫(kù)名。對(duì)應(yīng)每一個(gè)手機(jī)號(hào)寫一條insert插入語句。

        設(shè)置該觸發(fā)器之后,如果遇到瓦斯數(shù)據(jù)上傳中斷,則指定的手機(jī)會(huì)收到一條內(nèi)容為:“[某礦]通訊中斷,服務(wù)器狀態(tài):0(或1),網(wǎng)絡(luò)狀態(tài):-1(或1),時(shí)間:** * **** *:**AM(或PM)”的短信。

        通過使用觸發(fā)器,實(shí)現(xiàn)了煤礦瓦斯數(shù)據(jù)上傳中斷時(shí)及時(shí)通過手機(jī)短信提醒的功能。瓦斯作為大多數(shù)煤礦事故的元兇其數(shù)據(jù)值極為重要,通過此功能的實(shí)現(xiàn)可以使相關(guān)人員在第一時(shí)間掌握到影響煤礦安全生產(chǎn)的瓦斯數(shù)據(jù)上傳中斷的情況,及時(shí)發(fā)現(xiàn)及時(shí)處理,為信息化提升安全生產(chǎn)提供了堅(jiān)實(shí)的保證。

        參考文獻(xiàn)

        [1]Jiawei Han.數(shù)據(jù)挖掘:概念與技術(shù)(原書第3版)[M].機(jī)械工業(yè)出版社,2012.

        [2]賽奎春.SQL Server數(shù)據(jù)庫(kù)開發(fā)實(shí)例解析[M].機(jī)械工業(yè)出版社,2006.

        [3]德萊尼.深入解析SQL Server 2008[M].人民郵電出版社,2009.

        [4]趙輝,陸冷飛.SQL Server觸發(fā)器在保持?jǐn)?shù)據(jù)庫(kù)完整性中的應(yīng)用[J].電腦開發(fā)與應(yīng)用,2007.

        [5]魏錦茂.SQL觸發(fā)器在數(shù)據(jù)庫(kù)設(shè)計(jì)中的應(yīng)用[J].電腦編程技巧與維護(hù),2010.

        [6]黃汛,程治剛.數(shù)據(jù)庫(kù)連接池技術(shù)的應(yīng)用研究[N].武漢大學(xué)學(xué)報(bào)(工學(xué)版),2002.

        [7]俞建,張燎軍.數(shù)據(jù)庫(kù)訪問技術(shù)研究[J].計(jì)算機(jī)與現(xiàn)代化,2004.

        猜你喜歡
        觸發(fā)器煤礦企業(yè)
        主從JK觸發(fā)器邏輯功能分析
        電子世界(2017年22期)2017-12-02 03:03:45
        使用觸發(fā)器,強(qiáng)化安全性
        “兩學(xué)一做”對(duì)于煤礦企業(yè)健康發(fā)展的重要意義
        煤礦企業(yè)安全文化評(píng)估研究
        科技視界(2016年18期)2016-11-03 00:16:48
        現(xiàn)代煤礦安全生產(chǎn)管理
        扎實(shí)推進(jìn)“兩學(xué)一做”,提升煤礦企業(yè)黨建政工實(shí)效
        淺談加強(qiáng)煤礦礦井通風(fēng)安全技術(shù)措施
        淺析煤礦企業(yè)安全質(zhì)量標(biāo)準(zhǔn)化的重要性
        幾種常見觸發(fā)器工作方式的討論
        科技傳播(2012年12期)2012-07-05 06:06:22
        對(duì)觸發(fā)器邏輯功能轉(zhuǎn)換的分析
        亚洲VA不卡一区| 国产精品流白浆喷水| 久久久久九九精品影院| 日韩十八禁在线观看视频| 一本久道久久综合久久| 国产精品欧美一区二区三区| av黄页网国产精品大全| 中文字幕人成乱码中文乱码| 亚洲av无码一区二区二三区下载 | 亚洲成人色区| 久久成人国产精品一区二区| 91国内偷拍一区二区三区| 精品亚洲欧美高清不卡高清| 无码精品日韩中文字幕| 人妻av中文字幕久久| va精品人妻一区二区三区| 亚洲无码图| 日韩精品无码久久一区二区三| 四川丰满妇女毛片四川话| 国产成人精品日本亚洲i8| 在线观看国产精品自拍| 狠狠色综合播放一区二区| 少妇高潮惨叫正在播放对白| 天天躁日日躁aaaaxxxx| 中文字幕日韩有码国产| 青青草视频在线免费观看91| 北岛玲中文字幕人妻系列| 亚洲 欧美 影音先锋| 免费1级做爰片1000部视频 | 午夜视频福利一区二区三区| 国产精品无码无片在线观看3D| 国产va免费精品观看| 中文 在线 日韩 亚洲 欧美| 日本三级吃奶头添泬| 高清在线有码日韩中文字幕| 日本熟妇视频在线中出| 精品免费久久久久国产一区| 亚洲手机国产精品| 日本一级三级在线观看| 久久精品国产亚洲AV香蕉吃奶 | 正在播放国产多p交换视频|