首先,我絕不會讓用戶在生產機器上運行自己的查詢。他們可以整天運行桌面掃描或其他性能殺手。
我們有類似的情況,我們通常爲用戶創建自定義存儲過程以「調用」,並且只允許訪問運行「近乎實時」數據的備份服務器。
我們的用戶所熟悉的Excel,所以我創建一個用於過濾/自定義充足的參數的存儲過程,他們可以很容易地通過使用類似稱之爲:
EXEC YourProcedureName '01/01/2010','12/31/2010','Y',null,1234
我確切地證明了什麼參數呢,他們一般都很好從那裏出發。
要設置excel查詢,您需要在用戶的PC上設置數據源(控制面板 - 數據源 - odbc),根據您的Windows版本,這些數據源會略有不同。
從excel中,你需要設置「查詢」,這只是從上面的命令EXEC
。根據Excel的版本,它應該是這樣的:菜單 - 數據 - 導入外部數據 - 新的數據庫查詢。然後選擇數據源,連接,跳過表格製作器並輸入上面的SQL。另外,不要試圖讓一個程序做所有事情,根據他們做的做出不同的事情。
一旦數據在excel工作表上,我們的用戶將其拉到其他工作表並隨意操作。
有些用戶稍微先進一些,試着編寫自己的SQL,但這很痛苦。我最終調試並修復了他們不正確的查詢。此外,一旦你糾正了查詢,他們總是修補它,並再次打破。使用存儲過程意味着他們不能改變它,我可以把它與我們的其他程序放在源代碼庫中。
當你說「測量「是指經常變化的數據,還是更像您設備的規格? – JNK 2010-10-06 15:01:34
測量值不斷以0.1秒的時間步長採集。表格中的測量字段示例如下:GeneratorTemperature,GeneratorCurrent,GeneratorSpeed。實際上有80多個字段,並且給定的表可能包含幾個月的數據,每0.1秒添加一個新行。用戶將提取包含在選定字段中的數據,例如「發生器溫度」,時間範圍爲'2010-10-05 00:00:00.000'至'2001-10-05 01:00:00.000'。但是執行提取的用戶不會知道如何將其寫爲SQL查詢。 – KAE 2010-10-06 15:10:55