在SQL Server中为.net程序集创建函数时出现问题

本文关键字:函数 问题 创建 程序集 SQL Server 中为 net | 更新日期: 2023-09-27 17:58:01

[SqlProcedure()]
public static void GetCustInfo(SqlString PhoneNo, out SqlString CustInfo)
{
    // code...
}

这就是我尝试创建函数的方式:

CREATE FUNCTION [dbo].[GetCustInfo] (@PhoneNo nvarchar(50))
RETURNS nvarchar(max) WITH EXECUTE AS CALLER
AS EXTERNAL NAME  CustFromPhone.[ManagedCodeAndSQLServer.BaseFunctionClass].GetCustInfo

这就是错误:

CREATE FUNCTION失败,因为返回值的T-SQL和CLR类型不匹配。

在SQL Server中为.net程序集创建函数时出现问题

即使你问得很好。。。void函数不会返回可以转换为nvarchar 的内容

也许试试这个:

[SqlProcedure()]
public static SqlString GetCustInfo(SqlString PhoneNo)
{
    // code...
}