我正在努力寻找有关此主题的大量信息,因此我想知道你们是否可以启发我。
我基本上有一个用 C# 编写的迷你应用程序,它接受一个字符串,对其执行一些操作,然后返回结果。我现在希望在 SQLServer 中创建此函数,以便我可以轻松地在表中的记录上运行它。
我知道如何创建和运行用 C# 编写的 SQLServer UDF(即在为其创建函数之前在 SQLServer 中注册 .dll),但我似乎无法从我的函数中获得任何输出。例如,如果我有以下 C# 函数...
using System;
using Microsoft.SqlServer.Server;
public static class MyClrUdfClass
{
[SqlFunction]
public static string HelloWorld(string myString)
{
return (myString);
}
}
我像这样在 SQLServer 中运行它......
USE [AdventureWorksDW2008R2]
GO
EXEC [dbo].HelloWorld'Hello World, this is my string!'
GO
当我运行该函数时,我在 SQLServer 中得到的唯一输出是“命令成功完成”。那么 myString 在哪里?我预计需要一些 SQL 来实际打印结果,但我不确定。
这可能有一个非常简单的解决方案,但正如我之前提到的,我真的很难找到任何有用的信息。
最佳答案
您缺少括号:
SELECT [dbo].HelloWorld ('Hello World, this is my string!')
或者尝试这样:
declare @a varchar(max)
exec @a = [dbo].HelloWorld 'Hello World, this is my string!'
print @a
关于c# - 用 C# 编写 SQLServer 用户定义函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8518910/