| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Oracle > Запись в файл на клиенте. |
| Автор: VIAcom 1.7.2005, 16:47 |
| Понятно, почему нельзя писать куды угодно на сервак, а только в отведенное место, но вот почему я не могу писать на свою собственную машину, на клиента тобишь Например я хочу скинуть текстовый файлик - отчет к себе на винчестер, а не на винт сервера, с которого инфу кстати еще не факт, что посмотреть сможешь ... И еще вопрос можно ли читать файлы с клиента? Я работал только с UTL_FILE ... может есть еще пакеты? Заранее спасибо. |
| Автор: LSD 1.7.2005, 19:50 | ||||
Так в чем проблема? Берешь из клиентского приложения и скидываешь данные на винт. Или ты хочешь чтобы сервер тебе лез на клиентскую машину и создавал на ней файлы?
Есть еще позможность использовать хранимые процедуры на Java, там возможностей будет побольше. |
| Автор: VIAcom 4.7.2005, 08:31 |
| Клиентская программа - Парус, оа уже есть и мне ее переписывать низя ... поэтому мне только через сервак на клиент писать, но может Парус и может какнить писать, просто я об этом не знаю пока Java - это хорошо, но беда в том, что я ее только понимаю а писать тольком не могу, только примитив, ибо не знаю ни функций ни классов. Примерчик какойнить не хитрый бы .... |
| Автор: igon 4.7.2005, 14:39 | ||
Напиши собственного клиента, если нельзя типа plug-in к Парусу прикрутить. Запись на клиента по инициативе сервера (push-технология?) будет, ИМХО, существенно сложнее, если клиентов много, каждому нужно свое и по своему расписанию. |
| Автор: VIAcom 4.7.2005, 15:41 | ||
igon
Предлагаешь Парус переписать? |
| Автор: LSD 4.7.2005, 20:13 | ||
Вовсе нет. На серваке пишется процедура которая предоставляет данные в нужном виде, на клиенте программа которая записывает эти данные в файл. Пакет UTL_FILE позволяет работать с локальной файловой системой, локальные диски + диски подключенные через NFS. У Java возможности побольше но не намного. Так что единственый нормальный выход это клиент, или модифицировать парусовский или писать отдельный для данного случая. |
| Автор: VIAcom 5.7.2005, 08:21 |
| LSD Нет не пойдет, даже если написать отдельнуюб прогу на Дельфи, ее вызывать никто не будет, т.к. заказчику совершенно невозможно открывать еще что то акромя Паруса, и уж тем более в нем работать. Эта схмема сложной получается чересчур. Но там есть обходной маневр в самом Парусе, правда уж больно "обходной" и не хочется его юзать ... Спасибо за ответ. |
| Автор: igon 5.7.2005, 18:05 | ||||
но для меня
Хм, типа "по щучьему велению"? Вариант: В .bat файл прописываешь 1. Запуск собственно Паруса 2. Запуск Дельфи программы (as service?), которая по timeout (расписанию) обращается к серверу за отчетом и по получении "пищит" (как в аське): "У Вас новый отчет!!!" Иконку Паруса перенаправляешь на .bat файл Вариант: Дельфи программа стартует при запуске компьютера. "Работать" с такой Дельфи программой вовсе не обязательно - все настройки по умолчанию, на рабочем столе только файл (иконка) с отчетом. Не так все это и сложно. ИМХО |
| Автор: VIAcom 6.7.2005, 08:26 | ||
Нет не по веленью, а из хранимой процедуры, вызов которых в Парусе вполне возможен. Все другое не окупиться ИМХО. |
| Автор: LSD 7.7.2005, 00:07 |
| Чтобы из хранимки записать в файл, локальная ФС клиента должна быть подключенна к серверу, или через NFS для *nix систем, или через сетевые шары для Windows систем. Вы готовы пойти на такое? И реализуемо ли это, технически? Если да, то я могу написать подобную процедерку. |
| Автор: VIAcom 8.7.2005, 15:27 |
| Что там как возможно у аказчика я не знаю, я не их сис. админ. Но если такое возможно и это не слишком хитро, то почему нет, сразу скажу, что затруднять себя специальным написанием процедуры не имеет, думаю, смысла. Хотя я очень приятно удивлен и польшен оказанному вниманию. Что такого дикого в записи на клиент с сервера, может я чегото недопонимаю, но серевер разве не должен видет расшаренные папки, или это дурная практика чреватая снижением производительности/безопасности. Я не специалист по сетям и в этом чесно говоря плохо разбираюсь. |
| Автор: LSD 11.7.2005, 12:07 | ||||||||
| Итак запись на клиентскую машину. 1. Создаем Java class
2. Создаем процедуру на PL/SQL
3. Выдаем разрешения на запись в файл
4. Проверяем
|