如何使用 Nvarchar(max) 参数创建 CLR 存储过程?
是否可以在具有 nvarchar(max) 类型输入参数的 SQL Server CLR 项目中创建 CLR 存储过程?
如果您定义存储过程:
; _
公开共享 Sub MyProcedure(ByVal param1 As String)
然后,当您部署它时,param1 的类型为 NVarchar(4000)。有没有办法让它 NVarchar(max) ?
Is it possible to create CLR stored procedure in SQL Server CLR project having input parameterof type nvarchar(max)?
If you define stored procedure:
<Microsoft.SqlServer.Server.SqlProcedure()> _
Public Shared
Sub MyProcedure(ByVal param1 As String)
Then when you deploy it, param1 is of type NVarchar(4000). Is there a way to have it NVarchar(max)?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您可以使用
SqlFacet
属性。如果您想要NVARCHAR(MAX)
类型作为参数,那么您应该这样做:如果您需要它作为用户定义函数中的返回值:
MaxSize=-1
code> 表示NVARCHAR
的大小将为MAX
。You can use the
SqlFacet
attribute. If you want theNVARCHAR(MAX)
type as a parameter, then you should do this:If you need it as a return value in a user defined function:
The
MaxSize=-1
indicates that the size of theNVARCHAR
will beMAX
.将参数定义为 SqlChars 类型,而不是字符串。请参阅在 CLR 中处理大对象参数
Define your parameter to be of type SqlChars, instead of string. See Handling Large Object Parameters in the CLR