Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / сохранение классов / 7 сообщений из 7, страница 1 из 1
19.09.2005, 13:22
    #33276517
Stilet
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
сохранение классов
Идея такая, ставлю юзерам приложение, которое по существу является загрузчиком классов.
В базу данных пишу классы.

клиент цепляется к базе, и в зависимости от его прав вытаскивает из базы набор классов.

как можно сохранить класс в базе, а затем использовать его в клиенте, который об этом классе ничего не знает
...
Рейтинг: 0 / 0
19.09.2005, 13:24
    #33276525
ТимоН
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
сохранение классов
Serialize+BLOB
...
Рейтинг: 0 / 0
19.09.2005, 14:06
    #33276659
stdio
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
сохранение классов
Classloader
...
Рейтинг: 0 / 0
19.09.2005, 14:42
    #33276780
Stilet
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
сохранение классов
ТимоНSerialize+BLOB
в общих чертах понятно, приляпать к классу интерфейс Serialize и писать в BLOB
а можно поконкретнее, как класс записать в поле BLOB
...
Рейтинг: 0 / 0
19.09.2005, 14:52
    #33276808
Евгений Путилин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
сохранение классов
Stilet ТимоНSerialize+BLOB
в общих чертах понятно, приляпать к классу интерфейс Serialize и писать в BLOB
а можно поконкретнее, как класс записать в поле BLOB
Береш файл MyClass.class и пишеш его в BLOB. Только учти Oracle только с 10-й версии поддерживает JDBC для работы с BLOB.
...
Рейтинг: 0 / 0
19.09.2005, 14:53
    #33276811
ТимоН
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
сохранение классов
JDBC Manual
Отправка очень больших входных параметров
Методы setBytes и setString могут отсылать неограниченное количество данных. Правда, иногда программисту легче передавать большие значения в виде маленьких кусков. Это делается установкой входного параметра в значение Java-потока ввода (input stream). Когда выполняется выражение, JDBC-драйвер будет производить последовательные вызовы из этого потока ввода, считывая его содержимое и пересылая его в виде значения параметра.

JDBC предоставляет три метода установки входных параметров в поток ввода: setBinaryStream для потоков, содержащих обычные байты, setAsciiStream для потоков ASCII-символов и setUnicodeStream для потоков Unicode-символов. Эти методы, в отличие от остальных методов setXXX, принимают дополнительный аргумент, равный количеству передаваемых в потоке байтов. Этот аргумент необходим, так как некоторые СУБД требуют указания размера данных перед их отсылкой.

Следующий код иллюстрирует отсылку файла в виде входного параметра запроса:

Код: plaintext
1.
2.
3.
4.
5.
6.
    java.io.File file =  new  java.io.File("/tmp/data");
     int  fileLength = file.length();
    java.io.InputStream fin =  new  java.io.FileInputStream(file);
    java.sql.PreparedStatement pstmt = con.prepareStatement(
      "UPDATE Table5 SET stuff = ? WHERE index = 4");
    pstmt.setBinaryStream ( 1 , fin, fileLength);
    pstmt.executeUpdate();

При выполнении запроса для доставки данных последовательно считывается поток ввода fin.
...
Рейтинг: 0 / 0
19.09.2005, 15:21
    #33276915
Timm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
сохранение классов
Евгений Путилин Stilet ТимоНSerialize+BLOB
в общих чертах понятно, приляпать к классу интерфейс Serialize и писать в BLOB
а можно поконкретнее, как класс записать в поле BLOB
...
Только учти Oracle только с 10-й версии поддерживает JDBC для работы с BLOB.
Неправда :)
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / сохранение классов / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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