Текущий архив: 2006.09.03;
Скачать: CL | DM;
Вниз
IntraWeb и БД Найти похожие ветки
← →
logslava (2006-06-28 14:25) [0]В базе лежат вордовские файлы..
Как с помощью ИнтраВеб сохранить их на диск удаленной машины?
Что делаю:
- Подключаюсь через БДЕ т.к. АДО не работает (просто привык к АДО)
- Запросом ТАДОКвиари выбираю нужную запись в таблице БД
- Дальше для соответствующего блоб-поля вызываю SaveToFile(...) тем самым хочу сделать времменый файл на сервере, который затем даунлоадить буду
- после этого смотрю: на винче лежит мой "темп.док", но открыть его с помощью ворда не получается, говорит "неверно указано имя или сетевой путь"
Кстати в примерах Делфи\Демос\ИнтраВеб.. даунлоад показан, но не работает (?)
Если те же операции делать через АДО - все нормально - файл сохраняется...
Сталкивался ли кто с подобным?
← →
Desdechado © (2006-06-28 14:46) [1]> Подключаюсь через БДЕ т.к. АДО не работает
> Запросом ТАДОКвиари выбираю нужную запись в таблице БД
Это как? Подключение к БД одной технологией, а запрос - другой? Чего-то не так в датском королевстве...
> хочу сделать времменый файл на сервере, который затем даунлоадить буду
Если сервер доступен как файл-сервер, тогда можно, только зачем темпы на сервер лепить?
> после этого смотрю: на винче лежит мой "темп.док"
Значит, сохранял именно туда, а не на сервер.
> Если те же операции делать через АДО - все нормально
Ты ж говоришь, что через адо не работает?
← →
logslava (2006-06-28 15:06) [2]АДОКвиари - естесно опечатался: TQuery
сервером зову комп, где лежит ЕХЕшник, база и вся эта катавасия делается
А каким образом можно выудить из БД файл и переслать его пользователю, если предварительно его не сохранить во временный файл? На самом деле нужно только показать пользователю этот доковский документ, т.е. ему не обязательно его качать и сохранять у себя.. Было бы идеально показать док прямо в IE, да вот беда не знаю как это сделать..
Пока алгоритм такой, какой описал в первом посте.
Про АДО говорю что в Intraweb не работает, а в простом Аппликэйшене - все нормально.
← →
saxon (2006-06-28 15:21) [3]
> ему не обязательно его качать ...
> показать док прямо в IE
В любом случае это называеться "скачать". А уж сохранит он или нет - проблемма - клиента.
> предварительно его не сохранить во временный файл?
технология примерно такая:
при запросе считать файл из базы, перекинуть данные в поток вывода -Response (указав контент на ворд апп.).
← →
Desdechado © (2006-06-28 15:34) [4]> сервером зову комп, где лежит ЕХЕшник, база и вся эта катавасия делается
Не понял. Ты пытаешься запустить программу с сетевого диска и надеешься, что для нее темп будет темпом сервера? Наивный. Выполнение идет у тебя (кстати, и БДЕ тоже у тебя должен для этого быть), поэтому и темп будет твой. Из него и открывай, что мешает? И никаких дополнительных пересылок, скачек и прочего.
← →
logslava (2006-06-28 15:35) [5]
> перекинуть данные в поток вывода
это QueryField.SaveToStream(...)? а как дальше
> перекинуть данные в поток вывода -Response (указав контент
> на ворд апп.).
Response - это чей метод?
← →
logslava (2006-06-28 15:59) [6]Desdechado © (28.06.06 15:34) [4]
> Ты пытаешься запустить программу с сетевого диска и надеешься,
> что для нее темп будет темпом сервера
не понимаю тебя, а может не понимаю технологию...
Программу я запускаю там, где она лежит, где она компилилась (здесь же кстати стоит и СУБД и сама БД), никаких сетевых дисков нет. Подключение идет через
http://127.0.0.1:3333 (например так)
в данном случае подключение с моего компа отличается от подключения с другого компа?
Дальше я пишу
QueryField.SaveToFile("C:\Temp\temp.doc")
Это сетевой путь? По моему мнению (может и ошибочному) - локальный.
Значит: локально сохраняю файл из базы (пока о сети речи нет)
Я могу его посмотреть?
Страницы: 1 вся ветка
Текущий архив: 2006.09.03;
Скачать: CL | DM;
Память: 0.46 MB
Время: 0.03 c