2011-01-26 34 views
0

我有一個MS Access數據庫(.mdb),並在其上生成報告的前端,生成報告以計算保險代理的工資/收益率。報告中有一列(TASC獎金),不是表格中的一列。它顯然是通過一個存儲過程來計算的(這是我被告知的)。有沒有辦法查看Access數據庫中的存儲過程以確定如何計算此列?不幸的是,由於安全/隱私問題,我無法發佈數據庫。我相信Access數據庫中的數據(也可能是存儲過程)是從SQL數據庫提取的,然後「按摩」以獲取報告。訪問數據庫中的存儲過程

我想必須有某種數據庫查看器,可以讓你看到所有的表格和程序,但我的谷歌搜索沒有出現任何變化(通常我很擅長髮現任何東西)。當我真的難倒了,我總是在這裏作爲最後的手段張貼!

任何和所有的幫助,非常感謝。提前致謝!

回答

1

您可以查詢數據庫中的對象(存儲過程)定義。所需查詢的具體內容取決於您希望連接的數據庫。

對於MS SQL:從(sys.procedures)選擇OBJECT_DEFINITION(的object_id)其中name =「」 & sProcName & 「'」

對於Oracle:選擇從USER_SOURCE文本其中name =上('「& sProcName &「')ORDER BY型,線

希望幫助到你那裏。

+0

這是一個Access數據庫(我無權訪問原始SQL數據庫) – 2011-01-26 17:19:58

+1

如果您確實無法訪問後端數據庫管理系統,則可能會卡住。嘗試從上面的答案運行匹配查詢作爲傳遞查詢(可能工作,可能不會)。否則,請向DBA索取DB上的只選權限或SP代碼副本。 – RolandTumble 2011-01-26 18:35:00

0

是存儲在一個Jet/ACE MDB/ACCDB或SQL Server或其它數據庫服務器中的數據?「存儲過程「並非Access原生的術語雖然某些類型的存儲Access查詢與服務器數據庫中「存儲過程」的含義有某些共同之處,但並不是很多。

也就是說,您應該查看報告的記錄來源並將其作爲編輯發佈到您的答案。這可能表明數據來自何處。我認爲,報告從服務器端存儲過程獲取數據是不太可能的,但SQL應該提供關於它來自哪裏的線索。