|
0 / 0 / 0
Регистрация: 25.10.2007
Сообщений: 43
|
|
Пожалуйста, объясните, как хранить файлы (картинки) в базе, и как их оттуда доставать17.01.2008, 16:50. Показов 3437. Ответов 6
Метки нет (Все метки)
Добрый день.
Не могли бы Вы на пальцах объяснить, как класть и доставать картинки в MS SQL 2000 / ASP? Какой тип данных использовать? Как в ASP передать картинку сразу на выход? Как картинку запихать в базу?
0
|
|
| 17.01.2008, 16:50 | |
|
Ответы с готовыми решениями:
6
Объясните, как лучше хранить картинки на сайте? Как хранить картинки в Аксессовой базе? Как на ASP класть/доставать файлы в MS SQL? |
|
0 / 0 / 0
Регистрация: 27.12.2007
Сообщений: 22
|
|
| 20.01.2008, 12:23 | |
|
В базе соответственно заведи поле типа image (16 байтовая ссылка на область хранящую содержимое рисунка).
Теперь что касается передачи Client -> IIS( ASP script ) -> DBMS ( MS SQL 2k): передачу между Client -> Server, содержимого и его прием соответственно выполняют методы BinaryRead 7 BinaryWrite, только будь поосторожнее так как ASP любит приводить типы данных без твоего согласия (в данном случае она будет пытаться привести двоичный тип к строке). а между Server -> DBMS все проще, есть у Recordset'а методы GetChunk & AppendChunk, где соответственно ты имеешь возможность запихнуть и вытащить из базы эту картинулю. Hi
0
|
|
|
0 / 0 / 0
Регистрация: 25.10.2007
Сообщений: 43
|
|
| 20.01.2008, 12:35 [ТС] | |
|
Большое спасибо за помощь всем откликнувшимся.
Я сделал без всяких 'чанков' - запихиваю в базу через ADODB.command, создавая параметр данного типа (adLongVarBinary, 205). Достаю просто через adodb.connection, и его execute('exec хранимую процедуру'), и рекордсет этой хранимой процедуры response.addheader и response.BinaryWrite. Все вроде работает
0
|
|
|
0 / 0 / 0
Регистрация: 22.11.2006
Сообщений: 30
|
|
| 26.01.2008, 09:38 | |
|
Вообще говоря, есть мнение что: 'Long data types include Microsoft® SQL Server™ ntext, text and image data types. ntext, text and image data is sometimes so large that it cannot be retrieved in a single operation or fit into memory. If the long data can fit into memory, the Value property of the Field object can be used to retrieve all the data in one operation. If the long data is too large to fit into memory, the data must be retrieved or written in chunks.' (это из хелпа по mssql 7.0. Поэтому пока каждая отдельно взятая картинка маленькая - все будет ок, но когда появится нужда в чем-то что не 'fit into memory' вылезет ошибка...
Хотелось бы, кстати, уточнить у общественности: каков именно этот самый размер памяти?? что имеется ввиду... помнится где-то натыкался на упоминание чего-то около 64k - это оно??
0
|
|
|
0 / 0 / 0
Регистрация: 22.11.2006
Сообщений: 30
|
||||||
| 26.01.2008, 10:38 | ||||||
|
хотя, опять же, заинтересовавшись данным вопросом попробовал прогнать простенький код добавляющий запись в базу, что-то в этом роде:
никаких сбоев... при 100000000 (100Mb) система сказала кряк, пожаловалась на недостаток virtual memory и начала оптимизацию памяти (в системе физически 384 Mb + 256-512 Mb swap, ну и висит там еще всякое)... скрипт впоследствии вылетел по таймауту... но опять же, не из-за ошибок... дык вот может быть стоит забить на appendChunk и getChunk? по крайней мере все работает и так на весьма приличных объемах...Пробовал на: Windows 2000 Prof + MS SQL 7.0...
0
|
||||||
|
0 / 0 / 0
Регистрация: 15.03.2007
Сообщений: 40
|
|
| 26.01.2008, 11:02 | |
|
Работать с типами данных типа Image, по-моему, не очень хорошо.
Я плотно с картинками дела не имел, но везде, где я работал, картинки хранились просто в файлах, а в базе были только ссылки. Наверное, это не спроста .
0
|
|
|
0 / 0 / 0
Регистрация: 22.11.2006
Сообщений: 30
|
|
| 26.01.2008, 12:35 | |
|
логично предположить - чтобы не перегружать зря базу... хотя в некоторых случаях это удобно...
но, вопрос был не в этом, а в том, использовать или не использовать *chunk? вроде бы и без них работает... есть какие-то грабли здесь??
0
|
|
| 26.01.2008, 12:35 | |
|
Помогаю со студенческими работами здесь
7
где хранить текст файлы? или как хранить данные?
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд.
Даже если у вас. . .
|
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает
монорепозиторий в котором находятся все исходники.
При создании нового решения, мы просто добавляем нужные проекты
и имеем. . .
|
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение:
В этой книге («Подход, основанный на вариантах использования») Ивар утверждает,
что архитектура программного обеспечения — это
структуры,. . .
|
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога
Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
|
|
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip
На первой гифке отладочные линии отключены, а на второй включены:. . .
|
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем.
. . .
|
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
|
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
|