我有一個SQL存儲過程,它將數據庫和服務器名的名稱傳遞給用C#編寫的程序集。所謂在c#組件的方法是如下SQL nvarchar到C#CLR
Private static void GetData(string dbname, string servername)
{
---blah
---blah
---blah
}
我遇到的問題是當SQL實例名或數據庫名具有反斜槓(例如machinename\2008r2
)。
我得到異常運行存儲過程無法識別的字符\
。我嘗試了一些基本的東西,例如在調用程序集之前在存儲過程中用\\
代替\
,這也失敗了。
在此先感謝。
與\被解釋爲轉義字符的問題只能傾向於字符串出現*文字*,或者如果您將該字符串傳遞給也使用\作爲轉義字符的其他系統(例如'Regex')。如果該值通過'string'參數到達您的代碼,則不會有問題。您的問題中沒有足夠的代碼來查看問題 - 您向我們展示的只是一個簽名。 –
調用該方法後失敗,因此只有方法定義。該方法內的第一行是 拋出新的異常(「在GetData()」); 這是爲了證明控制已經進入了方法。但是這個例外從未被提出。 – Abe
然後,我希望這是很明顯的提及,錯誤是在你* *沒有向我們展示的代碼中。鑑於這顯然是一種私人方法,其他一些代碼正在調用它 - 是那裏的問題嗎? –