|
|
1
5
我能找到一个 lot more references . 然而,这些都是用于将表值参数传递给TSQL过程的,所以这没有什么用处。 list of mappings 在CLR和SQL类型之间。对于表类型,没有映射,因此以下操作不起作用,例如:
不管你试什么类型的(
其次,您链接到的页面上的文档说明: 用户定义的表类型不能作为表值参数传递给SQL Server进程中执行的托管存储过程或函数,也不能从中返回。
也许你可以在微软论坛的某个地方问你的问题。奇怪的是,他们在CLR存储过程页面上提到了表值参数,但从未解释如何实现这一点。如果你能找到解决办法,我想知道。 |
|
|
2
4
可以使用在调用过程和读取clr过程中的表之前创建和填充的临时表。 |
|
|
3
2
解决方案是将表格数据序列化为Json格式的字符串,然后将该字符串传递到CLR进程中。在clr过程或函数中,您可以将json解析为IEnumerable、list或Tablear对象。然后,您可以像处理任何其他类型的表格数据一样处理这些数据。 我已经编写了一些实用程序,能够将任何sql表序列化为Json格式的字符串。我很乐意与提供其电子邮件地址的任何人分享。Phil Factor编写了一个很好的T-SQL Json解析器,他称之为parseJson。我已将他的解决方案改编为clr,该clr执行速度更快。两者都接受Json格式的字符串,并从该字符串生成一个表。我还为T-SQL和CLR使用了各种Json实用程序,它们能够序列化、解析、插入、删除和更新存储在SQL列中的Json格式字符串。 |
|
|
4
2
如果使用C#(与缺少自定义迭代器的VB相反),则可以编写ADO.NET代码来调用ExecuteOnQuery()并使用 参数(即TVP)。
作为TVP值传递的集合必须实现
看见 this article 详情请参阅。 |
|
|
5
1
不太理想,但离得更近了一点。 |
|
|
Nicola · C++CLI项目中非托管数据上的C#指针 8 年前 |
|
|
Anton Savelyev · 在发布版本中删除类指针会导致内存问题 8 年前 |
|
|
shmnff · 显式转换int到SqlInt32 8 年前 |
|
|
Alex12 · windows窗体中的C++if语句[关闭] 9 年前 |
|
|
Claude Tan · 类型定义和类型引用之间有什么区别? 9 年前 |