我有一个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
然后,我希望这是很明显的提及,错误是在你* *没有向我们展示的代码中。鉴于这显然是一种私人方法,其他一些代码正在调用它 - 是那里的问题吗? –