講解InfoPlus與Uniformance PHD的SQL支持 SQL數據庫
關鍵字:InfoPlus與Uniformance 支持
這篇論壇文章(賽迪網技術社區)主要介紹了InfoPlus與Uniformance PHD的SQL支持及筆者的個人觀點,詳細內容請參考下文:
應該說這兩個實時數據庫都很不錯,在工業控制領域有著廣泛的應用。由于我們在MES上的特殊需求,我們嘗試用SQL方式查詢歷史數據,而不是直接調用其API。雖然API方式在速度上會快些,但是一些難以解決的古怪問題讓我們最終還是放棄了。
首先做的InfoPlus,用的是ODBC連接,發現一些問題,或者不是問題,只是我們覺得不太好的地方:
歷史值明明都按照IP_TREND_TIME排序了,但是在SQL語句中若對這個時間用了MAX或MIN,速度不是一般的慢,去掉就好了
自己的詭異的日期格式,一定要按照它的來,其它格式的不行。有個日期轉換函數有問題,并且會影響速度。具體是哪個函數就不記得了,呵呵。最搞的是,某個日期轉換函數會給出“4月17日 2006年” 或類似的中文年月日,讓人苦笑不得。我只好把中文字符再替換回來。
在WHERE字句中如果用了不是它的日期格式進行比較,它并不報錯,但是它會傻乎乎的把該點的所有歷史值都找一邊,速度自然慢得嚇人。
當然,我們不能拿實時數據庫的SQL支持去跟大型關系數據庫做比較,但是這樣的結果也確實讓人有些失望。
不過,沒有最差,只有更差----讓我們來看看Uniformance PHD。
PHD的SQL支持有兩種方式:Visual PHD和OLE DB。前者是個ActiveX控件,我開始也是采用這種方式,但是在最后封裝成web服務時卻無法調用這個ActiveX控件了,無奈之下只好轉向OLE DB。哪位大蝦知道C#寫的web服務如何調用本地的ActiveX控件,麻煩告訴我。
PHD的OLE DB連接字符串是這樣的,有些參數得看具體情況再作修改。不過現場實施的人一般都不會去改這些默認設置。
文章來源于領測軟件測試網 http://www.anti-gravitydesign.com/