CLR SQL Server UDF 问题
Posted
技术标签:
【中文标题】CLR SQL Server UDF 问题【英文标题】:CLR SQL Server UDF Question 【发布时间】:2009-04-02 14:57:56 【问题描述】:我正在尝试创建一个 CLR UDF,它接收一个字符串值,例如“Mike|John|Smith”。在 UDF 中,我解析出值并将它们返回到 DataTable 中。 C# 代码构建良好,我可以毫无问题地在 SQL 中创建指向 DLL 的程序集。
根据此消息来源,当我尝试告诉 SQL Server 如何将 Transact SQL 请求与 CLR 函数匹配时,问题就来了。 http://www.setfocus.com/technicalarticles/clrfunctionforsqlserver_2.aspx
或者我什至必须这样做?基本上我想接受一个字符串,解析出分隔值并将它们放入一个具有 3 个不同列 FN、MN、LN 的 DB 表中。使用 CLR UDF。
【问题讨论】:
【参考方案1】:您需要有一个调用程序集的 SQL 存储过程或函数。 SQL 存储过程和 .NET 函数的参数需要匹配。例如,如果您的 .NET 程序集具有以下功能:
[SqlProcedure]
public static void ProcessData(string myString_)
您的 SQL 存储过程或函数必须如下所示:
CREATE PROCEDURE dbo.ProcessMyData (@InputText AS NVARCHAR(MAX))
AS EXTERNAL NAME SqlAssemblyName.ClassName.ProcessData
GO
【讨论】:
以上是关于CLR SQL Server UDF 问题的主要内容,如果未能解决你的问题,请参考以下文章
在 SQL 2008 CLR UDF 中使用 HttpWebrequest 解决不稳定行为