Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 лимит [varbinary](max)  [new]
config
Guest
Доброго времени суток. Microsoft SQL Server 2008 R2 (RTM) - 10.50.1600.1 (X64)

Имеется таблица:

CREATE TABLE [dbo].[configs](
	[uid] [nvarchar](50) NOT NULL,
	[config] [varbinary](max) NULL,
 CONSTRAINT [PK_configs] PRIMARY KEY CLUSTERED 
(
	[uid] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
) ON [PRIMARY]


При попытке записи бинароного текста (длиной 1032528) в config записывается только строка длиной 21839 . Обьясните пожалуйста почему и как решить данную проблему? Погуглил насчет лимитов и там написано про [varbinary](max) что можно до 2 ГБ инфу записать
5 ноя 14, 14:23    [16800834]     Ответить | Цитировать Сообщить модератору
 Re: лимит [varbinary](max)  [new]
Glory
Member

Откуда:
Сообщений: 104751
config
При попытке записи бинароного текста (длиной 1032528) в config записывается только строка длиной 21839 .

И как вы делаете 1ое и определяете второе ?
5 ноя 14, 14:24    [16800851]     Ответить | Цитировать Сообщить модератору
 Re: лимит [varbinary](max)  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
config
Обьясните пожалуйста почему
Потому что у вас ошибка в коде.
config
и как решить данную проблему?
Поправить ошибку в вашем коде.
5 ноя 14, 14:24    [16800853]     Ответить | Цитировать Сообщить модератору
 Re: лимит [varbinary](max)  [new]
config
Guest
Пытаюсь записать следущим образом :

insert into [dbo].[configs] (uid,config)
values('123456',0xBDF......)


При UPDATE тоже самое :

UPDATE [dbo].[configs]
SET config = 0xB......
WHERE uid = 123456
5 ноя 14, 14:28    [16800889]     Ответить | Цитировать Сообщить модератору
 Re: лимит [varbinary](max)  [new]
Glory
Member

Откуда:
Сообщений: 104751
config
Пытаюсь записать следущим образом

И как вы измерили вашу константу 0xBDF...... ???
5 ноя 14, 14:30    [16800902]     Ответить | Цитировать Сообщить модератору
 Re: лимит [varbinary](max)  [new]
config
Guest
Glory,

SELECT LEN(0xB....)
5 ноя 14, 14:32    [16800931]     Ответить | Цитировать Сообщить модератору
 Re: лимит [varbinary](max)  [new]
config
Guest
Еще я знаю последние строки чем должна оканчиватся и там ее нет
5 ноя 14, 14:34    [16800950]     Ответить | Цитировать Сообщить модератору
 Re: лимит [varbinary](max)  [new]
Glory
Member

Откуда:
Сообщений: 104751
config
Glory,

SELECT LEN(0xB....)

А значение в поле как проверяли ?
5 ноя 14, 14:35    [16800958]     Ответить | Цитировать Сообщить модератору
 Re: лимит [varbinary](max)  [new]
config
Guest
В конце строки просто добавил пару букв чтоб проверить
5 ноя 14, 14:38    [16800990]     Ответить | Цитировать Сообщить модератору
 Re: лимит [varbinary](max)  [new]
Glory
Member

Откуда:
Сообщений: 104751
config
В конце строки просто добавил пару букв чтоб проверить

Это значит, что вы не использовали
SELECT LEN(config) FROM [dbo].[configs] WHERE uid = 123456 ?
5 ноя 14, 14:39    [16801004]     Ответить | Цитировать Сообщить модератору
 Re: лимит [varbinary](max)  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
Что вернет?

declare 
  @v     varbinary (max) = 0xBDF......
  , @id  nvarchar (50)   = '123456'

insert into [dbo].[configs] (uid,config)
values(@id, @v)

select
  datalength( a.config ), datalength(@v)
from [dbo].[configs] a
where
  a.id = @id


Сообщение было отредактировано: 5 ноя 14, 14:40
5 ноя 14, 14:39    [16801010]     Ответить | Цитировать Сообщить модератору
 Re: лимит [varbinary](max)  [new]
config
Guest
Извините , понял где ступил. Я просто значение скопировал и вставил в LEN. Огромное спасибо
5 ноя 14, 14:42    [16801034]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить