Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Как записать в поле TEXT или IMAGE данные размером вплоть до 2GB?
|
|||
|---|---|---|---|
|
#18+
Собственно как записать в поле TEXT или IMAGE данные размером вплоть до 2GB? Сделать это с помощью обычного INSERT или UPDATE нельзя, с помощью writetext можно записать до 120кб, можно как то это сделать вроде используя dbwritetext, но как? Может кто-то помочь? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2002, 06:47 |
|
||
|
Как записать в поле TEXT или IMAGE данные размером вплоть до 2GB?
|
|||
|---|---|---|---|
|
#18+
Наряду с writetext надо использовать UPDATETEXT { table_name.dest_column_name dest_text_ptr } { NULL | insert_offset } { NULL | delete_length } [ WITH LOG ] [ inserted_data | { table_name.src_column_name src_text_ptr } ] Дописывая весь текст порциями. Разберётесь? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2002, 08:30 |
|
||
|
Как записать в поле TEXT или IMAGE данные размером вплоть до 2GB?
|
|||
|---|---|---|---|
|
#18+
Таким способом пробывал, но когда писал что вставлять текст начиная с 8000 позиции СКЛ выдавал ошибку, какую не помню... Сейчас нет возможности попробывать, нет под рукой СКЛ. Но правда тогда строчка была размером символов 100 и я пытался сразу вставлять в 8000 позицию, может быть из-за этого ошибка. Еслибы Вы прислали пример был бы очень признателен. Кстати в МСДН написано что всётаки writetext может записывать до 120кб, а если сказано хотите писать более то нужно использовать dbwritetext Может конечно я чегото не допонял. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2002, 08:37 |
|
||
|
Как записать в поле TEXT или IMAGE данные размером вплоть до 2GB?
|
|||
|---|---|---|---|
|
#18+
create table TextTable ( [ID] int identity(1,1) not null, FText Text ) go set nocount on declare @ptrval binary(16), @sLeftPart varchar(100), @sRightPart varchar(100), @sCenterPart varchar(8000), @AddStr varchar(8000), @ID int, @i int, @Offset int insert TextTable (FText) values ('') set @ID = @@Identity select @ptrval = TEXTPTR(FText) from TextTable where [ID] = @ID --В этом цикле генерятся строки случайной длинны --и вставляются в поле FText set @Offset = 0 set @i = 1 while @Offset <= 500000 begin set @sLeftPart = 'Начало порции N'+Ltrim(Str(@i,20))+' ' set @sRightPart = ' конец порции N'+Ltrim(Str(@i,20))+char(13)+char(10) set @sCenterPart = REPLICATE('F', Round(RAND() * (8000-DataLength(@sLeftPart)-DataLength(@sRightPart)),0)) set @AddStr = @sLeftPart + @sCenterPart + @sRightPart UPDATETEXT TextTable.FText @ptrval @Offset 0 @AddStr set @Offset = @Offset + DataLength(@AddStr) set @i = @i + 1 end set nocount off --Вот убедитесь что длина данных в FText > 500000 select DataLength(FText) from TextTable drop table TextTable ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2002, 11:31 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=32020343&tid=1824403]: |
0ms |
get settings: |
8ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
41ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
37ms |
get tp. blocked users: |
2ms |
| others: | 219ms |
| total: | 341ms |

| 0 / 0 |
