将C#byte []传递给VARBINARY SQL字段

时间:2013-03-26 11:00:57

标签: c# sql-server sql-server-2008

我有一个SQL Server 2008表,其字段声明为VARBINARY(8000)

存储过程用于写入此表,并且它采用VARBINARY(8000)的参数

C#代码调用传入byte []的存储过程作为此参数。

在某些情况下会抛出SQL异常,因为该字段太大。

这似乎是一个简单的问题,但到目前为止我一直无法找到答案

我的byte []有多大可以不溢出SQL字段?

4 个答案:

答案 0 :(得分:0)

你的byte []最多可以是8000,不会溢出字段。

答案 1 :(得分:0)

  

我有一个SQL Server 2008表,其字段声明为VARBINARY(8000)

...

  

我的byte []有多大可以不溢出SQL字段?

这个感觉就像一个技巧问题,但这里的“明显”答案是:8000字节。

答案 2 :(得分:0)

在您的情况下为8000,但为什么不使用VARBINARY(MAX)使用最大允许大小,这将能够存储2 ^ 31-1个字节,请参阅binary and varbinary on MSDN

答案 3 :(得分:0)

桌面上的触发器引起的问题。触发器完成的工作是抛出异常。这与写入表格的数据无关。

感谢所有人或您的帮助