我試圖在C#中編程實現一些SQL查詢驗證(無需調用實際數據庫)。實質上,我希望用戶能夠輸入視圖,UDF或SP,並立即驗證其依賴項。用戶可以將它們輸入到用於定義數據庫對象的自定義工具中。從SQL查詢獲取依賴關係
因此,如果用戶輸入:
CREATE VIEW someView AS SELECT name, address FROM users
我能拉出依賴「用戶」,然後覈對存儲在存儲器(例如,表,視圖,等我的數據庫對象的集合..)以確保其中一個依賴項存在。請記住,輸入到我的自定義應用中的實際視圖/ UDF/SP非常複雜,我自己解析它們是不可取的。
我目前正在嘗試使用Microsoft.Data.Schema.ScriptDom.Sql.TSql100Parser來做到這一點。這提供了一個分析方法,它返回查詢的DOM表示。但是,這是一個非常複雜的DOM,我基本上不得不爲它編寫一個完整的解析器。
任何意見/建議?謝謝!
所以你只要想拉的對象在查詢中使用? – IEnumerator 2009-06-26 01:13:58