當(dāng)然,西門(mén)子也提供了標(biāo)準(zhǔn)的接口函數(shù)提供導(dǎo)出功能。是的,一個(gè)表一個(gè)表的導(dǎo)出功能。項(xiàng)目變了,配方多了一種重新編輯腳本重新導(dǎo)出。基于項(xiàng)目實(shí)際情況,拋棄了西門(mén)子官方提供的方法,選擇了其他的方法處理備份數(shù)據(jù)。
在此,提供三種昌暉儀表使用過(guò)的Wincc用戶(hù)歸檔備份方法,歡迎大家一起討論!
方法一:完整性備份為bak文件
借用強(qiáng)大的SQL語(yǔ)法,通過(guò)VBS執(zhí)行SQLCMD指令,執(zhí)行已經(jīng)測(cè)試完成的T-SQL備份指令。由于需要使用cmdshell指令,SQL默認(rèn)為關(guān)閉狀態(tài)需要在T-SQL指令中開(kāi)啟,結(jié)束完成后記得關(guān)閉,否則SQL處于危險(xiǎn)狀態(tài)。結(jié)合Wincc可以靈活的定義重復(fù)執(zhí)行的時(shí)間。可以靈活控制備份的周期,備份文件的保留方式。具體看現(xiàn)場(chǎng)實(shí)際要求,部分腳本如下:

實(shí)際測(cè)試,備份速度基本是ms級(jí)別,截圖如下。

方法二:導(dǎo)出表數(shù)據(jù)使用BCP指令
BCP實(shí)用工具可以在Microsoft SQL Server實(shí)例和用戶(hù)指定格式的數(shù)據(jù)文件間大容量復(fù)制數(shù)據(jù)。使用BCP實(shí)用工具可以將大量新行導(dǎo)入SQL Server表,或?qū)⒈頂?shù)據(jù)導(dǎo)入數(shù)據(jù)文件。除非與queryout選項(xiàng)一起使用,否則使用該實(shí)用工具不需要了解Transact-SQL知識(shí)。BCP既可以在CMD提示符下運(yùn)行,也可以在SSMS下執(zhí)行。
如圖所示:導(dǎo)出對(duì)應(yīng)的表的數(shù)據(jù),如果表名有固定的標(biāo)簽,可以靈活的控制表的數(shù)據(jù)導(dǎo)出,即使外部新建表單或者新加數(shù)據(jù)都無(wú)需調(diào)整腳本。通過(guò)VBS執(zhí)行SQLCMD,可以靈活控制表的名稱(chēng)。

方法三:使用WINCC提供的C指令WinCC ODK uaArchiveExport與uaArchiveImport函數(shù)
詳細(xì)的指令有興趣的可以查詢(xún)西門(mén)子的官方幫助手冊(cè)。當(dāng)然官方的是最安全可靠的,靈活度卻少了很多,不到最后一刻腳本都可能根據(jù)需要調(diào)整。對(duì)C腳本的功底要求也很高,具體的腳本可以根據(jù)官方指導(dǎo)文件處理。

作者:寧凌
相關(guān)閱讀
常見(jiàn)WinCC安裝問(wèn)題及注意事項(xiàng)
西門(mén)子WINCC項(xiàng)目文件夾刪除不掉怎么辦
用工具Configuration Tool合并兩個(gè)WINCC項(xiàng)目的方法