SQL Server VARBINARY (MAX) - PullRequest
       2

SQL Server VARBINARY (MAX)

2 голосов
/ 03 февраля 2011

У меня есть хранимая процедура, которая вставляет значения varchar & VARBINARY(MAX) в таблицу. Я передаю c # byte[] в поле varbinary(max). Я также вижу, что размер byte[] равен 80142, что соответствует максимальному пределу varbinary. Хранимая процедура выполняется без ошибок. Но когда я пытаюсь выполнить запрос к этой таблице, я вижу пустые значения в типе данных varbinary.

SQL sp

 ALTER PROCEDURE [dbo].[Test] 
            -- Add the parameters for the stored procedure here
            @PNumber varchar(50)
            ,@Byte varbinary(max)
        AS
        BEGIN
            SET NOCOUNT ON;

            -- Insert statements for procedure here
            INSERT INTO [Test].[dbo].[Data]
                   ([PNumber]
                   ,[PByte])
             VALUES
                   (@PNumber
                   ,@Byte)
        END

C # CODE

byte[] theData = doc.GetData();

DAL_DataTableAdapters.QueriesTableAdapter qta = new DAL_DataTableAdapters.QueriesTableAdapter();

qta.Test("test", theData);

Структура таблицы:

CREATE TABLE [dbo].[Data]
(
    [ID] [int] IDENTITY(1,1) NOT NULL,
    [PNumber] [varchar](50) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
    [PByte] [varbinary](max) NULL
) ON [PRIMARY]

1 Ответ

0 голосов
/ 04 февраля 2011

Как вы определяете, что данные пусты?Я совершенно уверен, что SQL Server Management Studio не будет отображать слишком длинное значение (я не знаю предела), даже если оно есть.

...