Ale*_*dre 3 sql sql-server-2008-r2
我有一些存储过程
CREATE PROC MyProc ( @FullName NVARCHAR(200) = NULL )
AS --.............
Run Code Online (Sandbox Code Playgroud)
当我打电话给这个过程,因为exec MyProc 'Some english text'它运作良好.
但如果将其称为exec MyProc '??????? ?????'使用俄语字母,则无法正常工作.
这个电话exec MyProc N'??????? ?????'再次运作良好.
我有一个客户端应用程序和...我需要在参数中添加N前缀?如果是,我该怎么办?
如果要连接.net代码中的字符串,则只需要(手动)N. 如果您将SQLParameter声明为nvarchar,它会自动执行:框架会为您处理它.
因此,您的客户端代码不正确,并打开SQL注入
无论如何,N说字符串文字是unicode.