sql – 存储过程的字符串参数的最大长度是多少?

前端之家收集整理的这篇文章主要介绍了sql – 存储过程的字符串参数的最大长度是多少?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个长度为1,44,000的字符串,必须作为参数传递给存储过程,该存储过程是表上的选择查询.
当这是一个查询(在c#中)它的工作正常.但是,当我将它作为参数传递给存储过程时,它无法正常工作.

这是我的存储过程,其中我已将此参数声明为NVARCHAR(MAX)

------------------------------------------------------
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go

CREATE PROCEDURE [dbo].[ReadItemData](@ItemNames NVARCHAR(MAX),@TimeStamp as DATETIME)

AS

select * from ItemData

where ItemName in (@ItemNames) AND TimeStamp=@TimeStamp

---------------------------------------------------------------------

这里的参数@ItemNames是一个用不同名称连接的字符串,例如
“项目1”,“项目2”,“项目3” ….等.

谁能告诉我这里出了什么问题?

谢谢&问候

帕德玛

解决方法

数据库语法的外观来看,它看起来像sql Server,these are the maximum sizes of things in Sql Server.
Bytes per short string column 8,000

可能是限制器.

虽然:

Bytes per varchar(max),
varbinary(max),xml,text,or image
column 2^31-1

(即2,147,483,647)表明sql Server会处理它,但是对于ado.net.

猜你在找的MsSQL相关文章