Apllet ORACLE Connect

0

Witam!!

Od dłużeszgo czasu borykam sie z pewnym problemem. Pracuję w NetBeans 5.5.1. Stworzyłem aplet który przy pomocy biblioteki ojdbc14.jar łączy sie z bazą oracle i wykonuje proste zapytanie.
O ile pod NetBeans, aplet uruchamia i łączy się z bazą, o tyle kiedy chce go wykonać pod przeglądarką, aplet się uruchamia, znajduje bibliotekę ale wyskakuje błąd:

Exception in thread "AWT-EventQueue-85" java.security.AccessControlException: access denied (java.util.PropertyPermission oracle.net.wallet_location read)

at java.security.AccessControlContext.checkPermission(Unknown Source)
at java.security.AccessController.checkPermission(Unknown Source)
at java.lang.SecurityManager.checkPermission(Unknown Source)
at java.lang.SecurityManager.checkPropertyAccess(Unknown Source)
at java.lang.System.getProperty(Unknown Source)
at oracle.jdbc.driver.OracleDriver$1.run(OracleDriver.java:1427)
at java.security.AccessController.doPrivileged(Native Method)
at oracle.jdbc.driver.OracleDriver.getSystemProperty(OracleDriver.java:1423)
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:596)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at oracle_connect.oracle_connect.jButton1MouseClicked(oracle_connect.java:149)
at oracle_connect.oracle_connect.access$000(oracle_connect.java:20)
at oracle_connect.oracle_connect$1.mouseClicked(oracle_connect.java:44)
at java.awt.AWTEventMulticaster.mouseClicked(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)

Nie mam pojęcia w czym może być problem. Prosił bym o jakieś wskazówki lub rozwiązanie.
Dzięki wielkie!!

0

Podpis cyfrowy musisz zrobić appletu :-) Ps nie robi się appletów które bezpośrednio komunikują się z bazą danych bo:

  1. to niebezpieczne bo można odczytać hasło i login bazy danych.
  2. oprócz jara appletu przeglądarak musi jeszcze pobierać jara ze sterownikiem.
    Powinieneś zrobić web service,a następnie applet powinien wysyłać żądanie do serwletu, ten odczytywać dane z bazy i odsyłać je z powrotem :-)
0

Dzięki za info!!

Wykonałem podpis cyfrowy na pliku jar, ale błąd jest ten sam.

Kiedy uruchamiam applet w poniższy sposób:
appletviewer -J-Djava.security.policy=applet.policy oracle_connect.html

to bez problemu łączy się z bazą. Podobnie jest w NetBEans.

Jeżeli natomiast uruchomię tylko plik html - pojawia sie stary błąd.
To samo tyczy się uruchomienia w appletviewer:
appletviewer oracle_connect.html

Moim zdaniem kluczem jest tu plik applet.policy.
Tylko teraz jak zmusić applet do uruchomienia online wraz z plikiem applet.policy ??

Dzięki za jakiekolwiek info.

1 użytkowników online, w tym zalogowanych: 0, gości: 1