【发布时间】:2010-12-07 22:04:18
【问题描述】:
如何将 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
}
【问题讨论】:
-
我不确定你可以。我所能找到的只是很多关于不同客户端 API 如何将它们翻译成例如的参考。 nvarchar 或二进制列。它必须是 sql_variant 吗?
-
@Damied_The_Unbeliever:是的,它确实需要是 sql_variant。我正在尝试传入任何给定分区的边界值,它作为 sql_variant 类型存在于 SQL 中。
-
分区的边界值不是严格的 sql_variants(例如,它们不能接受文本类型的值)。我认为他们实际上在 SQL 中没有明确定义的类型。查看使用分区函数的 SMO 函数,它们被视为对象,所以我认为没有更好的 .NET 类型。
标签: c# sql sql-server stored-procedures sqlclr