使用參數,即使我有這樣的SQL查詢:'。'附近的語法無效在C#
Select distinct
cols.referenced_entity_name
from
sys.sql_expression_dependencies objs
outer apply
sys.dm_sql_referenced_entities (OBJECT_SCHEMA_NAME(objs.referencing_id) + N'.' + object_name(objs.referencing_id), N'OBJECT') as cols
where
objs.referencing_id = object_id('viewname')
這將返回我的依賴關係的列表,給定視圖
這個查詢在SQL工作。然而,當我把它變成一個C#類這樣
Select distinct
cols.referenced_entity_name as depedency
from
sys.sql_expression_dependencies objs
outer apply
sys.dm_sql_referenced_entities (OBJECT_SCHEMA_NAME(objs.referencing_id) + [email protected] + object_name(objs.referencing_id), [email protected]) as cols
where
objs.referencing_id = object_id(@view)
與參數爲@period
= .
和@object
=對象和@view
=視圖名,我得到一個異常
無效的語法附近「」 。
我原本沒有的 ''作爲一個參數,併發送它只是'。'但它也拒絕了(我逃脫了'如此'。'',以使得到的字符串只是'。')
這種類型的難題我能做些什麼來使查詢工作...正如我所說的,如果我只是在SQL Server Management Studio中運行它,它工作正常。
我打開替代查詢來獲取我相同的結果順便說一句,我從Determine table referenced in a view in SQL Server
此查詢並返回我所尋找的是一個返回的視圖相依查詢和我說工作在查詢分析器,但不能得到時通過SqlCommand
對象在C#中通過了它的功能
編輯::
OK我挖成在查詢上面提到的觀點和我的生活中,我找不出爲什麼這個查詢不會給我同樣的結果
Select referenced_entity_name as dependancy from sys.sql_expression_dependencies where referencing_id = object_id('viewname')
據我所知,它給了我一個更清晰的查詢相同的結果,但我不完全是系統視圖的專家。
誰能告訴我,如果他們認爲這應該給我相同的結果無誤?
因爲如果這樣做,它消除了N'的需要。這是造成我的悲痛試圖參數在C#
'N - [object'是*不*有效語法,只需用'@ object',或更好,但只是''OBJECT''因爲它是恆定的。同一時期。 –
即使我在@period參數前刪除了N,我仍然得到無效的語法'。' – Bastyon
http:// stackoverflow。com/questions/2725548/sql-server-all-object-dependencies – MethodMan