Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Длинные строки  [new]
Mixon
Member

Откуда:
Сообщений: 336
Приветствую ВСЕХ!
Как передать в размещенную процедуру длинную стоку (более 8000 символов)?
если ни как то подскажите алгоритм нарезки блоков?(у меня есть массив строк, я их склеиваю и отправляю на сервер, строки разной длинны, каждую строку в отдельности нет смысла обрабатывать, потери на транспорте).

Заранее спасибо!
22 ноя 16, 20:40    [19922586]     Ответить | Цитировать Сообщить модератору
 Re: Длинные строки  [new]
Mike_za
Member

Откуда: Москва
Сообщений: 1176
Mixon,

Varchar(max)
22 ноя 16, 20:43    [19922592]     Ответить | Цитировать Сообщить модератору
 Re: Длинные строки  [new]
Mixon
Member

Откуда:
Сообщений: 336
Mike_za
Mixon,

Varchar(max)

как говорит гугл 8000 символов.
22 ноя 16, 21:35    [19922762]     Ответить | Цитировать Сообщить модератору
 Re: Длинные строки  [new]
Верблюд
Member

Откуда: Яженичеловек!!!
Сообщений: 65007
Mixon
Mike_za
Mixon,

Varchar(max)

как говорит гугл 8000 символов.


С чего вдруг?

https://msdn.microsoft.com/ru-ru/library/ms176089(v=sql.110).aspx
22 ноя 16, 21:55    [19922845]     Ответить | Цитировать Сообщить модератору
 Re: Длинные строки  [new]
RMagistr2015
Member

Откуда:
Сообщений: 1389
Mixon
Mike_za
Mixon,

Varchar(max)

как говорит гугл 8000 символов.


а какое максимальное кол-во символов может поместиться на одну страницу?
23 ноя 16, 06:42    [19923385]     Ответить | Цитировать Сообщить модератору
 Re: Длинные строки  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6801
RMagistr2015,

одну страницу чего?
23 ноя 16, 09:59    [19923676]     Ответить | Цитировать Сообщить модератору
 Re: Длинные строки  [new]
Mixon
Member

Откуда:
Сообщений: 336
TaPaK
RMagistr2015,

одну страницу чего?


*строку, все ок!
23 ноя 16, 11:07    [19923974]     Ответить | Цитировать Сообщить модератору
 Re: Длинные строки  [new]
RMagistr2015
Member

Откуда:
Сообщений: 1389
TaPaK
RMagistr2015,

одну страницу чего?


Если я правильно всё понял, данные таблицы хранятся в страницах, по 8КБ, 96 бай из которых служебная информация, остаётся 8*1024-96=8096 байт для данных.

Однако объявить строковую переменную получается только на 8000 символов ((
А куда деваются ещё 96 байт? )))
24 ноя 16, 06:42    [19928126]     Ответить | Цитировать Сообщить модератору
 Re: Длинные строки  [new]
Сон Веры Павловны
Member

Откуда:
Сообщений: 5975
RMagistr2015
Однако объявить строковую переменную получается только на 8000 символов

Да ну?

К сообщению приложен файл. Размер - 8Kb
24 ноя 16, 07:34    [19928160]     Ответить | Цитировать Сообщить модератору
 Re: Длинные строки  [new]
RMagistr2015
Member

Откуда:
Сообщений: 1389
Сон Веры Павловны
RMagistr2015
Однако объявить строковую переменную получается только на 8000 символов

Да ну?


А у меня вот такую ошибку выдает:

declare @str varchar (8001)


Сообщение 131, уровень 15, состояние 3, строка 1
The size (8001) given to the type 'varchar' exceeds the maximum allowed for any data type (8000).


Версия -
Microsoft SQL Server 2005 - 9.00.5000.00 (X64) Dec 10 2010 10:38:40 Copyright (c) 1988-2005 Microsoft Corporation Standard Edition (64-bit) on Windows NT 6.1 (Build 7601: Service Pack 1)
24 ноя 16, 07:52    [19928171]     Ответить | Цитировать Сообщить модератору
 Re: Длинные строки  [new]
Сон Веры Павловны
Member

Откуда:
Сообщений: 5975
RMagistr2015
А у меня вот такую ошибку выдает:

Потому что надо уметь объявлять. Могу рассказать, как это делать. Цена - 5000 рублей.
24 ноя 16, 08:03    [19928177]     Ответить | Цитировать Сообщить модератору
 Re: Длинные строки  [new]
RMagistr2015
Member

Откуда:
Сообщений: 1389
Сон Веры Павловны
RMagistr2015
А у меня вот такую ошибку выдает:

Потому что надо уметь объявлять. Могу рассказать, как это делать. Цена - 5000 рублей.


declare @str varchar (max)


?
24 ноя 16, 08:07    [19928182]     Ответить | Цитировать Сообщить модератору
 Re: Длинные строки  [new]
Сон Веры Павловны
Member

Откуда:
Сообщений: 5975
RMagistr2015
declare @str varchar (max)

?

Браво. Выше про это даже ссылку давали.
24 ноя 16, 08:16    [19928193]     Ответить | Цитировать Сообщить модератору
 Re: Длинные строки  [new]
RMagistr2015
Member

Откуда:
Сообщений: 1389
Сон Веры Павловны
RMagistr2015
declare @str varchar (max)

?

Браво. Выше про это даже ссылку давали.


Ну это понятно ))))
Вопрос в том, почему нельзя написать

declare @str varchar (8001)


?
В чем тут подвох?
24 ноя 16, 08:34    [19928234]     Ответить | Цитировать Сообщить модератору
 Re: Длинные строки  [new]
Сон Веры Павловны
Member

Откуда:
Сообщений: 5975
RMagistr2015
?
В чем тут подвох?

https://www.google.ru/search?q=sql server varchar 8001 - первая ссылка в выдаче, 2-й комментарий.
24 ноя 16, 09:26    [19928372]     Ответить | Цитировать Сообщить модератору
 Re: Длинные строки  [new]
iap
Member

Откуда: Москва
Сообщений: 47001
RMagistr2015,

VARCHAR(MAX): это всё - название типа данных.
VARCHAR(8000): VARCHAR - название типа данных, 8000 - длина.

Во втором случае длина не может быть больше 8000 байт.
Если не задать, то подразумевается 1 символ, кроме функций CASE и CONVERT, где это значит 30 символов.

И сейчас неясно?
24 ноя 16, 10:38    [19928686]     Ответить | Цитировать Сообщить модератору
 Re: Длинные строки  [new]
RMagistr2015
Member

Откуда:
Сообщений: 1389
Сон Веры Павловны
RMagistr2015
?
В чем тут подвох?

https://www.google.ru/search?q=sql server varchar 8001 - первая ссылка в выдаче, 2-й комментарий.


Спасибо большое
24 ноя 16, 10:44    [19928717]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить