Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server sp#u executesql:过程需要参数'@报表';类型为';ntext/nchar/nvarchar&x27;_Sql Server_Sql Server 2008_Tsql_Sql Server 2016 - Fatal编程技术网

Sql server sp#u executesql:过程需要参数'@报表';类型为';ntext/nchar/nvarchar&x27;

Sql server sp#u executesql:过程需要参数'@报表';类型为';ntext/nchar/nvarchar&x27;,sql-server,sql-server-2008,tsql,sql-server-2016,Sql Server,Sql Server 2008,Tsql,Sql Server 2016,以下是我正在尝试做的: EXECUTE sp_executesql 'select * from AccessOrganizationSettings where OrganizationSys = @OrganizationSys', N'@OrganizationSys nvarchar(250)', @OrganizationSys = '805408' 但我得到了这个错误: 过程需要类型为“ntext/nchar/nvarchar”的参数“@stateme

以下是我正在尝试做的:

EXECUTE sp_executesql 
    'select * from AccessOrganizationSettings where OrganizationSys = @OrganizationSys', 
    N'@OrganizationSys nvarchar(250)', 
    @OrganizationSys = '805408'
但我得到了这个错误:

过程需要类型为“ntext/nchar/nvarchar”的参数“@statement”


不确定我做错了什么。

正如错误所说,您需要
nvarchar
而不是
varchar
。尝试:

EXECUTE sp_executesql 
    N'select * from AccessOrganizationSettings where OrganizationSys = @OrganizationSys', 
    N'@OrganizationSys nvarchar(250)', 
    @OrganizationSys = N'805408'

N
使字符串成为
nvarchar
数据类型。

正如错误所说,您需要
nvarchar
而不是
varchar
。尝试:

EXECUTE sp_executesql 
    N'select * from AccessOrganizationSettings where OrganizationSys = @OrganizationSys', 
    N'@OrganizationSys nvarchar(250)', 
    @OrganizationSys = N'805408'

N
使字符串成为
nvarchar
数据类型。

EXEC sys.sp_executesql N'select…,…,@OrganizationSys=N'805408'
EXEC sys.sp_executesql N'select…,…,@OrganizationSys=N'805408'啊,好的!我盯着你的答案看了几秒钟,才发现我的问题和你的不同。我错过了第一个N(我会尽快标记为答案)@caseycrokston所有的
N
s都很重要,不仅仅是第一个。对于任何
nvarchar
string literal,您应该始终包含
N
前缀。啊,好的!我盯着你的答案看了几秒钟,才发现我的问题和你的不同。我错过了第一个N(我会尽快标记为答案)@caseycrokston所有的
N
s都很重要,不仅仅是第一个。您应该始终为任何
nvarchar
字符串文字包含
N
前缀。