gpt4 book ai didi

c# - 如何为 SQL CLR 存储过程提供 sql_variant 参数?

转载 作者:太空狗 更新时间:2023-10-29 23:26:39 24 4
gpt4 key购买 nike

如何将 sql_variant 参数添加到 SQL CLR 存储过程?使用 System.Object 不起作用,而且我没有看到任何可以使用的属性。

[Microsoft.SqlServer.Server.SqlProcedure]
public static void ClearOnePartition(
SqlString aString
, /* I want this to be a sql_variant */ object aVariant
)
{
//do stuff here
}

最佳答案

Mapping CLR Parameter Data来自 SQL 联机丛书,Object被列为用于映射 sql_variant 的正确类型.

我创建了一个简单的 SQL Server 项目并向其中添加了以下类:

public partial class StoredProcedures
{
[Microsoft.SqlServer.Server.SqlProcedure]
public static void StoredProcedure1(object param1)
{
// Put your code here
//Trace.Write(param1);
SqlContext.Pipe.Send(param1.ToString());

}
};

然后我修改了 test.sql 文件来运行这个存储过程:

DECLARE @thing sql_variant = 'hahahahaha';

EXEC dbo.StoredProcedure1 @thing

这按预期运行并产生以下输出:

hahahahaha

No rows affected.

(0 row(s) returned)

Finished running sp_executesql.

关于c# - 如何为 SQL CLR 存储过程提供 sql_variant 参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4382113/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com