簡體   English   中英

在項目中搜索代碼以在數據庫中存儲過程

[英]Search Code in Project for Stored Procedures in the Database

是否有一種簡單的方法可以對數據庫中的所有存儲過程進行搜索,以查看它們是否在Visual Studio中的C#代碼中的任何位置?

我在SQL Server 2005中使用Visual Studio 2008(C#)。我只想查詢數據庫並返回所有存儲過程的列表(我可以輕松地做到這一點)。 然后,我想搜索整個項目,以查找代碼中正在使用哪些存儲過程,而哪些沒有使用。

(好吧,正如我寫的那樣,我有一個主意,但是它涉及一次查看每個文件,這還不錯,但是我想知道是否有更好的解決方案)。

編輯:看來我的問題還不夠清楚。 我想獲取未從代碼調用的數據庫中每個存儲過程的列表。 我試圖刪除所有未使用的代碼和數據庫對象,因此我需要知道未使用的內容,然后開始刪除。

您可以在“查找文件”對話框中打勾“使用正則表達式”選項,然后用|分隔名稱。 字符。

要生成要搜索的過程名稱的管道分隔列表,可以使用

declare @list varchar(max)

select @list= isnull(@list + '|','') + name from sys.procedures

select @list AS [processing-instruction(x)] FOR XML PATH('')

要查找代碼中根本沒有引用的存儲過程,可以查看第三方工具來執行此操作,例如Apex SQL Clean

您可能會發現您可以在免費試用期內立即做所有需要做的事情。

使用一致的命名約定,例如usp_

我剛剛創建了一個程序來從數據庫中獲取所有存儲過程的名稱。 然后,我手動通讀項目中的所有文件,並檢查它們是否包含存儲過程名稱。 如果在任何文件中都找不到該名稱,則將其添加到列表中。

我希望找到一種更簡單的方法來執行此操作,但這可以滿足我的需要。

取決於代碼的編寫方式。

您也許可以搜索.CommandText

要搜索的其他內容可能只是SqlCommand.CommandType = CommandType.StoredProcedure

希望您隨后可以找出包含SP名稱的所有行,然后也許可以使用正則表達式或類似名稱從這些行中找出SP名稱。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM