Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Здравствуйте!!! / 15 сообщений из 15, страница 1 из 1
10.11.2005, 16:20
    #33371718
kamolsan
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Здравствуйте!!!
Здравствуйте!!!

Использую: JBuilder,Oracle, Web технология (jsp,applet,servlet);

Ситуация:

1. Надо чтобы на клиентскую машину из удалённой базы выкачать в файл содержание blob поля;
2. Заархивировать это файл на клиентской машине, и загнать в другое blob поле удалённой БД.
3. Я чайник.

Вопрос:
1. Какие технологии, в каких частях ситуации (1,2) лучше использовать?

Заранее спасибо!!!
...
Рейтинг: 0 / 0
10.11.2005, 17:50
    #33372034
Denis Popov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Здравствуйте!!!
kamolsan1. Надо чтобы на клиентскую машину из удалённой базы выкачать в файл содержание blob поля;
Выполняешь запрос к БД, получая данные в экземпляр класса java.sql.Blob. Далее берешь у него поток (как именно -зависит от версии оракловой JDBC) и, читая даные оттуда, пишешь их в файл.
kamolsan2. Заархивировать это файл на клиентской машине, и загнать в другое blob поле удалённой БД.
Файл в архив: http://www.cs.hut.fi/Docs/Eckel/TIJ2ed/code/c11/ZipCompress.java
А в blob данные опять же заполняются через java.sql.Blob. Но при использовании Oracle есть нюансы его предварительного создания.
...
Рейтинг: 0 / 0
11.11.2005, 08:46
    #33372536
kamolsan
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Здравствуйте!!!
Denis Popov
Выполняешь запрос к БД, получая данные в экземпляр класса java.sql.Blob. Далее берешь у него поток (как именно -зависит от версии оракловой JDBC) и, читая даные оттуда, пишешь их в файл.

Можно это сделать на сервлетах и чтобы в клиентскую машину выгрузить файл.
Denis Popov
Файл в архив: http://www.cs.hut.fi/Docs/Eckel/TIJ2ed/code/c11/ZipCompress.java

ZipCompress.java должен находиться на клиентской машине? Его можно запускать сервлетом?
...
Рейтинг: 0 / 0
11.11.2005, 12:51
    #33373406
Denis Popov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Здравствуйте!!!
kamolsanМожно это сделать на сервлетах и чтобы в клиентскую машину выгрузить файл.
Задача разбивается на две:
Выгрузить blob из базы

Дать возможность скачать его клиенту как файл.
Если ты только начинаешь осваиваться, то попробуй решить сперва первую задачу просто в консольном приложении. Далее узнай, как через обращение к сервлету клиент может получить эти данные.
kamolsanZipCompress.java должен находиться на клиентской машине? Его можно запускать сервлетом?
ИМХО лучше передать серверу данные "как есть", иначе тебе придется кроме браузера требовать от клиента что-либо еще.
...
Рейтинг: 0 / 0
11.11.2005, 14:07
    #33373698
kamolsan
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Здравствуйте!!!
Спасибо Denis Popov!!!

Я уже пробую...
...
Рейтинг: 0 / 0
11.11.2005, 15:54
    #33374077
kamolsan
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Здравствуйте!!!
Denis! Извините ещё один вопрос?

Denis Popov
Задача разбивается на две:
Выгрузить blob из базы

Дать возможность скачать его клиенту как файл.



1-е сделал - на сервере выгружается в файл и архивируется!

а вот второе как можно автоматически отправить клиенту этот файл?
...
Рейтинг: 0 / 0
11.11.2005, 16:23
    #33374169
Denis Popov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Здравствуйте!!!
Клиент должен его запросить, например, нажать ссылку на странице. Ищи примерно так

Вот, к примеру: http://forum.java.sun.com/thread.jspa?threadID=549705&messageID=2682309
...
Рейтинг: 0 / 0
11.11.2005, 16:56
    #33374248
kamolsan
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Здравствуйте!!!
Denis PopovКлиент должен его запросить, например, нажать ссылку на странице. Ищи примерно так

Вот, к примеру: http://forum.java.sun.com/thread.jspa?threadID=549705&messageID=2682309

Спасибо Denis!
уже роюсь!
...
Рейтинг: 0 / 0
14.11.2005, 10:47
    #33376074
kamolsan
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Здравствуйте!!!
Denis PopovКлиент должен его запросить, например, нажать ссылку на странице. Ищи примерно так

Вот, к примеру: http://forum.java.sun.com/thread.jspa?threadID=549705&messageID=2682309

Спасибо! Сделал!

Насчет второй ситуации – в закачанный zip-файл клиент добавляет один файл и отправляет его обратно серверу для загрузки в базу.

Вопрос:
1. Для работы с файлами клиента, у клиента должна быть дополнительная программа (помимо Internet Explorer’a)?
2. Как отправлять файл серверу?
3. Как можно загнать файл со стороны клиента в blob поле удалённой БД?

Заранее спасибо и за терпение!
...
Рейтинг: 0 / 0
14.11.2005, 12:51
    #33376476
Denis Popov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Здравствуйте!!!
kamolsan[1. Для работы с файлами клиента, у клиента должна быть дополнительная программа (помимо Internet Explorer’a)?
Что для тебя является "клиентом"? Если это пользователь-человек, то ИМХО ему легче всего предоставить готовый архив, он его изменит сам как ему надо, после чего передаст серверу через:
kamolsan[2. Как отправлять файл серверу?
например, http://jakarta.apache.org/commons/fileupload/ Существующие framework'и, типа Struts, тоже могут содержать в себе средства для загрузки файлов (если ты их используешь). Иначе кроме броузера тебе надо создавать полноценное клиентское приложение с использованием тех средств и языков, с которыми ты знаком.
kamolsan[3. Как можно загнать файл со стороны клиента в blob поле удалённой БД?
только если ты ему предоставишь возможность коннекта в твою базу, что ИМХО не всегда оправданно. Тогда он это может сделать как угодно, вплоть до выполнения sql-запроса. Сделай возможность загрузки файла клиентом на веб-сервер, а потом самостоятельно клади его в базу.

Работа с LOB'ами через Java демонстрируется, к примеру, тут: http://www.oracle.com/technology/sample_code/tech/java/sqlj_jdbc/files/advanced/advanced.html в примере LOB Datatype. Правда, там используется предварительное создание lob-локатора через EMPTY_BLOB() , EMPTY_CLOB(), но можно пойти через метод createTemporaty() классов oralce.sql.BLOB, oracle.sql.BLOB, поищи хоть на этом форуме .
...
Рейтинг: 0 / 0
15.11.2005, 14:39
    #33379261
kamolsan
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Здравствуйте!!!
Спасибо Денис!

Denis Popov Что для тебя является "клиентом"? Если это пользователь-человек, то ИМХО ему легче всего предоставить готовый архив, он его изменит сам как ему надо, после чего передаст серверу через:

"клиентом" – удаленный компьютер с пользователем – тонки клиент (ну банк-клиент в web технологии).
Denis Popov он его изменит сам как ему надо, после чего передаст серверу через:

Нет надо, чтобы автоматически (ну как Вы показывали – при нажатии ссылки) файл изменялся у клиента на машине. И это можно сделать, используя технологию Java Web Start?
...
Рейтинг: 0 / 0
15.11.2005, 17:00
    #33379721
Denis Popov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Здравствуйте!!!
Через Java Web Start, думаю, можно, но это будет уже клиентское приложение, это допустимо? А почему нельзя примерно так: пользователь в браузере указывает имя ирхива и файл, который он хочет к нему добавить. Наживает на кнопу, файл идет на сервер и добавляется к указанному архиву. Причем сам архив может и не скачиваться клииентом. Сделать пользователю выбор на странице:

- загрузить весь архив;
- добавить файл к указанному архиву.
...
Рейтинг: 0 / 0
16.11.2005, 08:49
    #33380445
kamolsan
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Здравствуйте!!!
Denis PopovЧерез Java Web Start, думаю, можно, но это будет уже клиентское приложение, это допустимо?
Да!
Denis PopovА почему нельзя примерно так: пользователь в браузере указывает имя архива и файл, который он хочет к нему добавить. Наживает на кнопу, файл идет на сервер и добавляется к указанному архиву.
Оказывается, должна быть (по уставу) на компьютере у гл. бухгалтера Банка шифрующая программа (типа один exe’шник), которая на данный момент запускается указывая имя разархивированного файла. И этим самым появляется шифрованный файл, и этот файл мне надо заархивировать и отправить в Центр Расчетов (тот самый Web server)! Exe’шник находится только на компьютере гл. бухгалтера.
...
Рейтинг: 0 / 0
16.11.2005, 12:46
    #33381144
Denis Popov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Здравствуйте!!!
Тогда опять получается две задачи:

заархивировать файл (я уже умоминал пример), для работы с русскими именами можно воспользоваться реализацией ZipOutputStream в Ant

послать данные на сервер через HttpURLConnection. Можно воспользоваться JavaMail для формирования требуемых данных для передачи, если потребуется.
...
Рейтинг: 0 / 0
16.11.2005, 13:27
    #33381321
kamolsan
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Здравствуйте!!!
Denis PopovТогда опять получается две задачи:


Спасибо Denis, спасибо и за терпение!!! :)

Буду капать!

Спасибо за форум!
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Здравствуйте!!! / 15 сообщений из 15, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]