Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[52.14.45.36] |
|
Данный раздел предназначается для обсуждения вопросов использования баз данных, за исключением составления запросов на SQL. Для этого выделен специальный раздел. Убедительная просьба - соблюдать "Правила форума" и не пренебрегать "Правильным оформлением своих тем". Прежде, чем создавать тему, имеет смысл заглянуть в раздел "Базы данных: FAQ", возможно там уже есть ответ. |
Страницы: (2) [1] 2 все ( Перейти к последнему сообщению ) |
Сообщ.
#1
,
|
|
|
Есть набор файлов *.jpg
Каждому файлу присвоен уникальный номер (ID) В базе есть таблица из двух полей : ID - Img Так вот как мне в таблицу в поле Img запихать эти файлы??? И какой тип поля для этого нужен (binary/image/???). |
Сообщ.
#2
,
|
|
|
вообще-то юзать BLOB - это очень плохо и непроизводительно
гораздо лучше хранить файлы отдельно, а в БД делать ссылку на имя. но все же, если позарез нужно: тип поля - лучше всего image а как запихать? - в MySQL это было бы вот так: INSERT INTO table1 (IMG) VALUES (LOAD_FILE("C:\picture.jpg")); в SQL Server 2000 такого прикола, IMHO, нет, поэтому нужно просто считать файл с диска и передать его в БД с помощью INSERT. |
Сообщ.
#3
,
|
|
|
Программно - понятно Спасибо.
А как мне создать базу из Enterprise Manager-а в которой уже будет некий набор изображений????? И которую я смогу там кому-то дать... Типа электронного фотоальбома на основе БД??? |
Сообщ.
#4
,
|
|
|
никак! напиши свой клиент, который туда изображения запихает, а потом уже архивируй базу и неси, куда надо.
|
Сообщ.
#5
,
|
|
|
А причем же здесь клиент-сервер? Имхо для "кому-то дать" тебе аксесс нужен... |
Сообщ.
#6
,
|
|
|
Ну "унеси" это если нет сети или просто локальная машина... А вообще нужно выложить в сети на MS SQL Server пачку картинок-схем, для пользования всеми пользователями...!!!
И если клиентом это делать, то какой запрос нужно послать на сервер (типа какой формат INSERT INTO......) ??? |
Сообщ.
#7
,
|
|
|
В таком случае имхо надо:
1. Сделать веб-клиента для просмотра 2. Сделать простенького клиента для "выкладывания" картинок 3. Как мудро заметил Alfa, хранить в базе пути к файлам, а не сами картинки |
Сообщ.
#8
,
|
|
|
1) любым удобным для тебя методом считываешь файл в буфер (файл нужно открыть в бинарном виде!)
2) Формируешь запрос вида INSERT INTO table1 (IMG) VALUES (you_buffer); где you_buffer - содержимое твоего буфера 3) выполняешь запрос! |
Сообщ.
#9
,
|
|
|
А может это из программы будет легче сделать?
|
Сообщ.
#10
,
|
|
|
Цитата Vit, 13.03.03, 16:22:11 А может это из программы будет легче сделать? ??? из какой проги? я и так предложил Astral'у написать прогу! или ты имеешь в виду - хранить базу картинок в своей проге? |
Сообщ.
#11
,
|
|
|
Из проги это понятно, но мне нужен метод, которым я смогу в базу данных добавить изображение без проги..... Средствами самого SQL...
Да если не в лом - подскажите, как можно простой массив char[...] перевести в поток... Т. е. переделать в поток... :-/ ??? |
Сообщ.
#12
,
|
|
|
Да чуть не забыл... :o
Доступ к базе разграничивается по правам... и админ (ну и еще некоторые группы) должен иметь возможность в случае необходимости добавить/изменить/удалить запись, а соответственно и изображение.... Во КАК 8) |
Сообщ.
#13
,
|
|
|
Цитата Astral, 13.03.03, 17:29:46 Из проги это понятно, но мне нужен метод, которым я смогу в базу данных добавить изображение без проги..... Средствами самого SQL... Да если не в лом - подскажите, как можно простой массив char[...] перевести в поток... Т. е. переделать в поток... :-/ ??? Средствами SQL - никак! по крайней мере я не видел такого способа для SQL Server. Если кто знает - сам с удовольствием поучусь Так что либо мути прогу, либо переходи на MySQL э..... я ваще-то Сишник... так что я не понял - как это char переделать в поток? ??? это пусть отвечают дельфисты! Цитата Доступ к базе разграничивается по правам... и админ (ну и еще некоторые группы) должен иметь возможность в случае необходимости добавить/изменить/удалить запись, а соответственно и изображение.... насчет изменить/удалить - SQL это не графический редактор . Так что еще раз повторюсь - напиши ты программу для администрирования, это же несложно! и жить станет легче а уж если станешь писать прогу - то лучше не хранить в БД сами файлы, а лишь ссылки на них - редактировать проще - просто открыть файл любым редактором. Но тогда встает вопрос - а зачем тебе вообще БД? |
Сообщ.
#14
,
|
|
|
я бы не советовал "затачивать" секьюрити под SQL Server - дорогой он, и виндозно зависимый, а потому аппликуха не будет portable. Имхо все же лучше web-приложение, со "своей" ACL.
|
Сообщ.
#15
,
|
|
|
Касательно того - зачем база....
Ведь там будут храниться не только картинки, но еще и описание, дополнения и т.д. Если в базу прописать пути к файлам, тогда при переносе на другую машину их нуна будет писать в такую-же директорию..... 8) Касательно потока ... При работе с графикой можно данные для отображения взять из файла, а можно из потока, я сам раньше работал в Дельфях, но на работе програмлю в ВИЗУАЛЕ.... В билдере 5 (и в делфях)есть компонент на закладке FastNet -- TStreamServer/Client вроде так называется если не ошибаюсь, так вот там данные пересылаются потоками вот в подобную феню мне надо перевести байтовый массив...... :P ??? И со всем этим надо разобраться в течении 3-х дней..... :( (если бы делфи .... :-[ написал за 3 часа.... :) |