Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java: Апплеты > Обращение к БД из апплета.


Автор: levely 17.4.2006, 13:54
Здравствуйте!Помогите пожалуйста!
Мне необходим из апплета доступ к базе данных.Я работаю с Idea, на локальной при запуске через IDE все замечательно работает.
При использовании appletviewer.exe выдает исключение:
java.security.ControlExeption:access denied(....sun.jdbc.odbc).
В браузере тоже не работает.
Файл jar с классом я подписала.
В java.policy прописала
Код

keystore "file:C:/Documents and Settings/Администратор/.keystore";    
grant {
    permission java.security.AllPermission  signedBy "NameofAlias";
};

Но исключение все равно имеет место!
Что еще я упустила из вида?
Я подумываю вообще не обращаться к бд,но тогда придется передавать до 500 переменных float.
Может кто поможет!? smile  

Автор: Goliath 17.4.2006, 19:31
У тебя к БД  находиться на том же хосте что и загружаемый апплет? Если нет то вот ссылка там описано как подключаться апплетом к другому хосту:: http://www.cs.umbc.edu/help/oracle8/java.815/a64685/advanc2.htm. Вообще я бы не советовал подключаться к БД через апплет. 

Автор: LSD 17.4.2006, 21:37
Цитата(Goliath @  17.4.2006,  20:31 Найти цитируемый пост)
У тебя к БД  находиться на том же хосте что и загружаемый апплет? Если нет то вот ссылка там описано как подключаться апплетом к другому хосту:

При работе через ODBC это не важно, т.к. когда идет соединение с базой уже работает native код, на который эти ограничения не распространяются.


levely, а ты для какого JRE меняешь policy файл, тот что в JDK или тот который public? 

Автор: levely 18.4.2006, 06:41
Цитата

levely, а ты для какого JRE меняешь policy файл, тот что в JDK или тот который public?

Policy файл меняю для того,который public
А для какого надо? smile 
Что-то в документации не акцентировано на этом внимание...

Цитата

При работе через ODBC это не важно, т.к. когда идет соединение с базой уже работает native код, на который эти ограничения не распространяются

БД на другом хосте, с моего локального все подключается замечательно. 

Автор: levely 18.4.2006, 08:54
Cпасибо!!!
Дело было в этом!
Я поменяла policy для JRE в JDK-все работает.

Вопрос возникает такой: 
есть ли разрешение именно на чтение из базы данных.
А не просто AllPermission?
 
Кстати-спасибо за ссылку! 

Автор: powerOn 18.4.2006, 09:02
Цитата

есть ли разрешение именно на чтение из базы данных.


Эти ограничения должны устанавливаться сервером базы данных. Т.е. сервер контролирует что может делать подсоединившийся клиент в зависимости от его имени и пароля. 

Автор: LSD 18.4.2006, 10:38
Цитата(levely @  18.4.2006,  09:54 Найти цитируемый пост)
есть ли разрешение именно на чтение из базы данных.

Кроме тех что накладывает сам сервер БД, нет.

Какие разрешения понадобятся для соединения с БД зависит от того что задрайвер ты используешь. Если Type IV то достаточно будет разрешения на установку связи с нужным хостом, если Type II то нужно разрешение на загруку библиотеки. 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)