You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用SQL Server的.NET扩展时遇错误:需@params参数为ntext/nchar/nvarchar类型

SQL Server .NET扩展调用C#代码报错解决

问题描述

运行以下SQL Server .NET扩展示例代码时:

DECLARE @param1 NVARCHAR(4000);

SET @param1 = N'This is an _underline_ test';

EXEC sp_execute_external_script
    @language = N'dotnet',
    @script = N'<MarkdownHelper>.<MarkdownHelper>',
    @input_data_1 = N'SELECT Markdown',
    @param1 = @param1;

收到错误提示:

Msg 214, Level 16, State 175, Procedure sp_execute_external_script, Line 1 [Batch Start Line 0]
Procedure expects parameter '@params' of type 'ntext/nchar/nvarchar'

问题原因

调用sp_execute_external_script传递自定义参数(如示例中的@param1)时,必须通过@params参数显式声明所有自定义参数的名称和数据类型,否则存储过程无法正确识别这些参数。

修正后的代码

添加@params参数声明自定义参数的类型,修改后的代码如下:

DECLARE @param1 NVARCHAR(4000);
DECLARE @params NVARCHAR(MAX);

SET @param1 = N'This is an _underline_ test';
SET @params = N'@param1 NVARCHAR(4000)'; -- 声明自定义参数的名称与类型

EXEC sp_execute_external_script
    @language = N'dotnet',
    @script = N'<MarkdownHelper>.<MarkdownHelper>',
    @input_data_1 = N'SELECT Markdown',
    @params = @params, -- 指定参数声明语句
    @param1 = @param1;

内容的提问来源于stack exchange,提问作者Aashishkebab

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 18:32:37