2010-10-06 131 views
4

我們有幾個包含我們構建的生成器的度量的SQL Server數據庫。但是,這些有用的數據只能由少數工程師訪問,因爲大多數人不熟悉SQL(包括我)。是否有任何工具可以讓工程師提取所選數據的子集,以便在Excel或其他環境中分析數據?理想的工具將用於從SQL Server數據庫中檢索數據的用戶友好工具

  1. 保護數據庫的任何意外更改,
  2. 不需要SQL知識來提取數據,
  3. 是非常容易使用,例如使用GUI來選擇字段和選擇的時間範圍,
  4. 允許數據值到一個文件,可以用Excel等編輯的出口,
  5. 需要從提取任務運行的數據庫管理器沒有參與/輸入,並
  6. 很容易爲新手databas e經理成立。

感謝您的任何建議或建議。

+0

當你說「測量「是指經常變化的數據,還是更像您設備的規格? – JNK 2010-10-06 15:01:34

+0

測量值不斷以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

回答

3

首先,我絕不會讓用戶在生產機器上運行自己的查詢。他們可以整天運行桌面掃描或其他性能殺手。

我們有類似的情況,我們通常爲用戶創建自定義存儲過程以「調用」,並且只允許訪問運行「近乎實時」數據的備份服務器。

我們的用戶所熟悉的Excel,所以我創建一個用於過濾/自定義充足的參數的存儲過程,他們可以很容易地通過使用類似稱之爲:

EXEC YourProcedureName '01/01/2010','12/31/2010','Y',null,1234 

我確切地證明了什麼參數呢,他們一般都很好從那裏出發。

要設置excel查詢,您需要在用戶的PC上設置數據源(控制面板 - 數據源 - odbc),根據您的Windows版本,這些數據源會略有不同。

從excel中,你需要設置「查詢」,這只是從上面的命令EXEC。根據Excel的版本,它應該是這樣的:菜單 - 數據 - 導入外部數據 - 新的數據庫查詢。然後選擇數據源,連接,跳過表格製作器並輸入上面的SQL。另外,不要試圖讓一個程序做所有事情,根據他們做的做出不同的事情。

一旦數據在excel工作表上,我們的用戶將其拉到其他工作表並隨意操作。

有些用戶稍微先進一些,試着編寫自己的SQL,但這很痛苦。我最終調試並修復了他們不正確的查詢。此外,一旦你糾正了查詢,他們總是修補它,並再次打破。使用存儲過程意味着他們不能改變它,我可以把它與我們的其他程序放在源代碼庫中。

+0

小問題:Microsoft Query是允許您在Excel [1]中執行此操作的Office組件:http://office.microsoft.com/zh-cn/excel-help/use-microsoft-query-to-retrieve-外部數據HA010099664.aspx – 2010-10-06 15:31:59

0

Excel允許將存儲過程的輸出直接加載到選項卡中。 IMO是最好的方法:用戶不需要SQL知識,只需調用一個過程,除了Excel和數據庫之外,沒有額外的移動部件。

1

我會建議你在Excel中建立你自己的。 Excel可以通過ODBC連接查詢您的SQL Server數據庫。如果你做得對,最終用戶只需點擊「獲取數據」按鈕即可。然後他們可以訪問Excel的所有GUI功能來查看數據。

0

根據您的SQL服務器版本,我將查看一些優秀的自助服務商業智能工具和更高版本,例如報表生成器。這就像是一個精簡版的視覺工作室,所有複雜的位被取出,只剩下簡單的報告位。

如果你設置了一個共享數據源,並且登錄服務器的權限很低,那麼用戶可以構建報告但不能編輯任何內容。

我會通過KM呼應評論說,讓生產系統上的偉大洗過運行查詢可能會導致與任何正在使用錯誤的查詢或大量的表掃描或笛卡兒一些有趣的結果加入等

相關問題