2

我想不出一种方法来允许通过调用存储过程一次接收超过 4000 个字节。我将图像存储在表中,每个图像大约 15 - 20 KB,但是在获取它们并将它们显示到页面时,它们的大小始终为 3.91 KB(或 4000 字节)。

存储过程对一次可以发送多少数据有限制吗?我仔细检查了我的数据,我确实只收到了该varbinary(MAX)字段的前 4000 个字符。

是否有允许一次超过 4k 字节的权限设置?

4

3 回答 3

1

您应该阅读使用大值数据类型

max 说明符扩展了 varchar、nvarchar 和 varbinary 数据类型的存储能力。varchar(max)、nvarchar(max) 和 varbinary(max) 统称为大值数据类型。您可以使用大值数据类型来存储最多 2^31-1 字节的数据。

大值数据类型的行为与其较小的对应数据类型 varchar、nvarchar 和 varbinary 相似。

如果您不能传递超过 4000 个字节,我会检查您的客户端应用程序以查看它是否限制或截断您的数据。SQL Server 一次可以占用超过 4000 个字节。

编辑刚刚发现这个:

执行(事务处理 SQL)

对字符串使用 EXECUTE

在 SQL Server 的早期版本中,字符串被限制为 8,000 个字节。这需要连接大字符串以进行动态执行。在 SQL Server 中,可以指定 varchar(max) 和 nvarchar(max) 数据类型,允许字符串最大为 2 GB 的数据。

于 2010-04-19T17:39:19.743 回答
0

您需要使用不同的代码来访问 SQL Server 中的 BLOB。这里的例子。

于 2010-04-19T17:08:01.840 回答
0

SQL Server 2005 中有一种称为“图像”的数据类型。您应该使用该数据类型来存储大型二进制对象,尤其是图像。

于 2010-04-19T17:15:39.170 回答