I created an SQLCLR C# Stored Procedure which expects a paramter as large byte[] and returns the result in a large byte[].
Using the SQLBinary class as default, i run into the problem that the parameter was cut after 8000 Bytes.
How-i-fixed-it:
I found the right hints here:
http://stackoverflow.com/questions/840552/clr-udf-returning-varbinarymax
SqlBinary is VARBINARY(8000) while the default for SqlBytes is VARBINARY(MAX)
I found two ways to overcome the 8000 Bytes limit:
For the large return value i used:
SqlDataRecord record = new SqlDataRecord(
new SqlMetaData("Data", SqlDbType.VarBinary, -1));
For the input Parameter i used:
SqlBytes roiBytes
No comments:
Post a Comment