sql-server - SQL Server : Could not find type in the assembly

标签 sql-server sql-server-2008-r2 user-defined-functions sqlclr

假设程序集 dll:

using Microsoft.SqlServer.Server;
using System.Data.SqlClient;
using System.Data.SqlTypes;
using System;
using System.Text;

namespace CLRFunctions
{
    public class T
    {
        [SqlFunction(DataAccess = DataAccessKind.Read)]
        public static String NormalizeString(String s, String normalizationForm)
        {
            NormalizationForm form = NormalizationForm.FormC;

            if (String.Equals(f, "FormD", StringComparison.OrdinalIgnoreCase))
                form = NormalizationForm.FormD;

            return = s.Normalize(form);
        }
    }
}

注意:将程序集定位到 .NET 3.5,因为 SQL Server 不支持 .NET 4.0

将程序集复制到某个位置,并且“创建”程序集工作正常:

CREATE ASSEMBLY CLRFunctions FROM 'c:\Program Files\My App\CLRFunctions.dll';

注意:然后启用CLR功能,否则是broken by default :

sp_configure 'show advanced options', 1;
GO
RECONFIGURE;
GO
sp_configure 'clr enabled', 1;
GO
RECONFIGURE;
GO

创建用户定义函数失败:

CREATE FUNCTION NormalizeString(@s nvarchar(max), @normalizationForm varchar(50)) 
RETURNS nvarchar(max)
AS EXTERNAL NAME CLRFunctions.T.NormalizeString

失败并出现错误:

Msg 6505, Level 16, State 2, Procedure NormalizeString, Line 1
Could not find Type 'T' in assembly 'CLRFunctions'.

为什么 SQL Server 在程序集 CLRFunctions 中找不到类型 T

enter image description here

注意:为什么是TCause Microsoft did.

最佳答案

尝试

CREATE FUNCTION NormalizeString(@s nvarchar(max), 
                                @normalizationForm nvarchar(50)) 
RETURNS nvarchar(max)
AS EXTERNAL NAME CLRFunctions.[CLRFunctions.T].NormalizeString

关于sql-server - SQL Server : Could not find type in the assembly,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7823488/

相关文章:

SQL 作业状态

sql-server - 当从本地 SQL Server 获取比平常更大的数据库结果时,Docker 中的 dotnet 核心的 SQL 超时

SQL Server 存储过程 - If Count() 语句

sql - 多语句表值函数与内联表值函数

php - 用户生成/用户特定功能

sql - 如何比较 n :m assignments?

SQL Server POWER 函数

sql - 将用户角色和权限从一个数据库复制到另一个数据库

SQL Server 管理工作室错误 : Script failed for UserDefinedFunction

apache-pig - Pig - 将 Databag 传递给 UDF 构造函数