|
|
|
новичок
      
участник
Last Login: 15.06.2002 11:25
Сообщ.: 3,
Visits: 34
|
|
| Собственно как записать в поле TEXT или IMAGE данные размером вплоть до 2GB? Сделать это с помощью обычного INSERT или UPDATE нельзя, с помощью writetext можно записать до 120кб, можно как то это сделать вроде используя dbwritetext, но как? Может кто-то помочь?
|
|
|
|
|
Supreme Being
      
участник
Last Login: 05.06.2008 21:53
Сообщ.: 141,
Visits: 1 554
|
|
Я вообще занимаюсь VB, но пробовал втыкивать в эти поля содержимое файлов. Т.е, обычный Recordset, соответствующему полю присваивал содержимое файла (длинная байтовая строка) и делал RS.Update.
SQL Profiler выдал, что ADO Library запускает хранимую процедуру sp_execsql с простейшим запросом:
UPDATE <table> SET <col> = 0x1266746........
Дальше идет длиннующая строка, которая представляет собой содержимое файла в 16-ричном коде. Т.е., на IMAGE-колонку применяется обычный UPDATE! Тем не менее, все чудесно работало, правда, для объема файла 1-2 MB. При больших объемах шли глюки.
Мне кажется, нужно разбивать входной поток на блоки 100-1000 символов и пользоваться WRITETEXT.
Не совсем в тему, но может быть поможет. А какой у тебя источник данных?
|
|
|
|
|
новичок
      
участник
Last Login: 15.06.2002 11:25
Сообщ.: 3,
Visits: 34
|
|
| Информация МСДН. Поищите там writetext и увидите что будет написано что вставить можно до 120Кб. И что для вставки больших объёмов предлагаеться использовать dbwritetext Обычный инсерт в СКЛ записывает до 8кб. Это уже опытно получено... Мне это нужно для АСП вот приду домой попробую также попробывать записать данные в базу как Вы в ВБ делали. Может и получится.
|
|
|
|
|
Supreme Being
      
участник
Last Login: 05.06.2008 21:53
Сообщ.: 141,
Visits: 1 554
|
|
| Writetext вставляет до 120 кБ за 1 сеанс! Естественно, я имел ввиду цикл и вставку каждый раз по 100-1000 единиц информации.
|
|
|
|