Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2004.01.13;
Скачать: [xml.tar.bz2];

Вниз

BLOB фильтры   Найти похожие ветки 

 
Simply Alex   (2003-12-11 01:09) [0]

Здравствуйте Мастера!

Я столкнулся со следующей проблемой.
БД Interbase. В одной из таблиц есть BLOB-поле, в котором хранятся аудиоданные (wave riff или mp3).
Вопрос: как оттуда эти данные прослушать и вообще достать с использованием BLOB-фильтров?


 
Digitman   (2003-12-11 08:28) [1]


> как оттуда эти данные прослушать


никак

сначала ты должен сделать запрос и получить в адр.пр-во кл.процесса данные этого блоб-поля. а уж потом делать с этими данными в своем кл.приложении все что тебе заблагорассудится - слушать, нюхать и т.д. и т.п.


> с использованием BLOB-фильтров


поясни, зачем вообще в дан.случае тебе потребовался блоб-фильтр ?


 
Simply Alex   (2003-12-11 17:23) [2]


> сначала ты должен сделать запрос и получить в адр.пр-во
> кл.процесса данные этого блоб-поля.


Имеется в виду взаимодействие с блоб-полем не через файл (блоб-файл-приложение)? Если ДА, то как это осуществить?


> поясни, зачем вообще в дан.случае тебе потребовался блоб-фильтр
> ?


Для преобразования типов данных. Из типа блоб-поля в аудиоданные, но если их можно выцепить и так, то вопрос про фильтры теряет свою актуальность...


 
jack128   (2003-12-11 19:14) [3]

query.sql.text := "select my_wav from my_table";
query.transaction.statrtransaction;
with query do
try
if not EOF then
TblobField(Fields[0]).SaveToFile("c:\mywav.wav");
query.tarnsaction.commit;
except
query.tarnsaction.rollback;
raise;
end;
// теперь проигрывай файл..


 
jack128   (2003-12-11 19:15) [4]

только не забыть открыть запрос
try
Open;
if not EOF then


 
Silver Alex   (2003-12-12 10:19) [5]


> jack128 © (11.12.03 19:14) [3]

а зачем открывать в транзакции?


 
Stas   (2003-12-12 10:23) [6]

Незнаю как там в интербейсе, но в Ado работает:
AdoQuery1Sound.SaveToStream (strm);
PlaySound (strm.Memory ,0,SND_MEMORY+SND_ASYNC);


 
Zacho   (2003-12-12 15:00) [7]


> Silver Alex © (12.12.03 10:19) [5]

А любой запрос может быть выполнен только в контексте какой-либо транзакции. Другое дело, что некоторые компоненты доступа могут стартовать транзакции автоматически.


 
jack128   (2003-12-12 15:04) [8]


> а зачем открывать в транзакции?
Привычка.. Я вообще считаю, что трансакции нужно самому открывать...(если ты работаешь не через BDE, конечно)


 
Silver Alex   (2003-12-12 16:18) [9]


> Zacho © (12.12.03 15:00) [7]

да ну?может это только в IB ? Или нет?


 
Stas   (2003-12-12 16:21) [10]

>>Zacho © (12.12.03 15:00) [7]

MS SqlServer сам проводит транзакции, я о них и недумаю. Или я чего-то непонял.


 
Zacho   (2003-12-12 16:39) [11]


> Silver Alex © (12.12.03 16:18) [9]

Не только. Но некоторые сервера могут запускать "транзакцию по умолчанию". IB не может (да и не надо), а вопрос был именно по IB.
И вообще, даже только читающий запрос все-равно должен работать в контексте какой-либо транзакции. Про уровни изоляции слышал ? :)

> Stas © (12.12.03 16:21) [10]

Причем здесь MS SQL ? Исходный вопрос был про IB, и не надо приплетать всякие MS SQL, Oracle, DB2 и т.д. :-)


 
Stas   (2003-12-12 16:44) [12]

>>Zacho © (12.12.03 16:39) [11]
Я с тобой согласен.
Мой ответ был для Silver Alex © (12.12.03 16:18) [9]
А я твое имя нечаянно вставил. :)


 
Zacho   (2003-12-12 16:49) [13]


> Stas © (12.12.03 10:23) [6]

Кстати, и с IB можно работать через ADO. ADO - не СУБД, а всего лишь одна из технологий работы с СУБД :)


 
Silver Alex   (2003-12-12 16:52) [14]


> Zacho © (12.12.03 16:39) [11]

знаю что в IB такая лабуда.И знаю в компонентах FIB нужно явно стартовать транзакцию.А про другие как-то не слыхал, но всегда есть чему поучиться.Нельзя ведь все знать :)


 
Zacho   (2003-12-12 16:57) [15]


> Silver Alex © (12.12.03 16:52) [14]
>
> Нельзя ведь все знать :)

Разумеется. :) Я, например, про MS SQL очень мало знаю :)


 
Digitman   (2003-12-13 11:48) [16]


> аудиоданные


что ты подразумеваешь под "аудиоданными" ?
если содержимое блоб-поля есть сохраненное ранее в него содержимое некоего аудиофайла, то содержимое этого блоб-поля и есть некие аудиоданные !

ты читаешь это блоб-поле в ориг.виде в АП кл.процесса, а дальше делаешь с ними что хочешь


 
Simply Alex   (2003-12-14 14:56) [17]


> что ты подразумеваешь под "аудиоданными" ?


Аудиоданные - вставленный ранее в БЛОБ-поле wave-файл (riff).


 
Simply Alex   (2003-12-14 14:58) [18]

Все спасибо за обсуждение! Сделал что хотел! Все получилось!


 
Digitman   (2003-12-14 15:11) [19]


> вставленный ранее в БЛОБ-поле wave-файл (riff).


riff стал riff"ом ТОЛЬКО после того, как клиент прочитал из блоб-поля данные и соизволил их попытаться интерпретировать именно как riff


 
Simply Alex   (2003-12-15 17:42) [20]


> riff стал riff"ом ТОЛЬКО после того, как клиент прочитал
> из блоб-поля данные и соизволил их попытаться интерпретировать
> именно как riff


Согласен. Данные читаются из БЛОБ, затем интерпретируются как wave riff.



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2004.01.13;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.49 MB
Время: 0.011 c
3-37506
Andrey V.
2003-12-15 14:41
2004.01.13
Нужен


4-37983
Felixx
2003-11-07 13:30
2004.01.13
Узнать путь к приложению, которое активно в данный момент


9-37490
Omar2002
2003-06-18 15:19
2004.01.13
Сетевая игра в DelphiX


7-37952
Turonix
2003-10-30 15:53
2004.01.13
Как симулировать нажатие кнопки Page Down


1-37703
Delphi_Ghost
2003-12-30 15:31
2004.01.13
Как найти компонент на форме, зная его Top и Left?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский