Avatar billede knaldeglad Nybegynder
03. maj 2004 - 13:03 Der er 25 kommentarer og
1 løsning

JDBC ODBC connection til MSAccess DB fra applet

Jeg skal lave en connection i en applet i e browser der skal connecte til en db der ligger pa en anden maskine  dvs.  server på adr. 192.168.1.7 eksempelvis...

connection code "so far"

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
    Connection con = DriverManager.getConnection("jdbc:odbc:;Driver={Microsoft Access Driver (*.mdb)};Dbq=\\\\192.168.1.\\log\\test.mdb;Uid=JK;Pwd=passme;";
    Statement stmt = con.createStatement();
    ResultSet rs = stmt.executeQuery("SELECT * FROM TWorker");

når appletten åbnes i en browser kommer intet db content frem...  evt sandbox probem ??

åbnes applet fra jbuilder er det hele fint..... ?!?!!
Avatar billede arne_v Ekspert
03. maj 2004 - 13:05 #1
En applet (kørt i browser) får kun lov til at connecte til samme
server som den er hentet fra, så det er sikkert problemet.
Avatar billede arne_v Ekspert
03. maj 2004 - 13:06 #2
Men iøvrigt formoder jeg da også at du ikke vil tillade adgang til dit fil system
fra internettet så ...
Avatar billede knaldeglad Nybegynder
03. maj 2004 - 13:15 #3
hmm..  det er egentligt meningen at den ikke skal ud paa internettet..  i første omgang ihvertfald..  indtil videre vil jeg connecte til en intern server saa jo det går nok med adgangen til filsystemet.  men det virker heller ik selvom jeg placere testhtml fil i wwwroot  stadig ingen db contet bliver vist...    er det evt fordi jeg angiver path til db forkert i connection ?
Avatar billede knaldeglad Nybegynder
03. maj 2004 - 13:16 #4
kan du se der skulle være noget galt med conection setup. ?
Avatar billede knaldeglad Nybegynder
03. maj 2004 - 13:18 #5
webside kører intern ser du så der er ikke noget prob med sikkerhedden "sådan da"
Avatar billede arne_v Ekspert
03. maj 2004 - 13:19 #6
(jeg formoder at det bare en en copy paste fejl at der mangler et tal i IP adressen)

Prøv og udskriv evt. exceptions i appletten.
Avatar billede knaldeglad Nybegynder
03. maj 2004 - 13:29 #7
ja ja copypaste fejl....    der kommer ingen  fejl....    der er bare kun baggrunden af appletten at se.. i browseren
Avatar billede knaldeglad Nybegynder
03. maj 2004 - 13:30 #8
vil du evt se koden til hele appletten...??  den er ik stor..
Avatar billede arne_v Ekspert
03. maj 2004 - 13:32 #9
Hvis kigger i Java Console (hvor fejl udskrives) er der så noget der ?

[Java Console er ikke default enablet i Internet Explorer men det kan man ændre]
Avatar billede arne_v Ekspert
03. maj 2004 - 13:33 #10
Det er ikke nødvendigt at se hele koden. Jeg kunne hurtigt lave et tilsvarende
eksempel.
Avatar billede knaldeglad Nybegynder
03. maj 2004 - 13:42 #11
ok...    kan kun finde eksempler pa nettet om hvordan man connecter til lokal db..  så plz et eksempel der connecter til en server/anden pc...

java.security.AccessControlException: access denied (java.lang.RuntimePermission accessClassInPackage.sun.jdbc.odbc)
    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.checkPackageAccess(Unknown Source)
    at sun.applet.AppletSecurity.checkPackageAccess(Unknown Source)
    at sun.applet.AppletClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClassInternal(Unknown Source)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Unknown Source)
    at dsnlessapp.DsnLessApp.jbInit(DsnLessApp.java:52)
    at dsnlessapp.DsnLessApp.init(DsnLessApp.java:41)
    at sun.applet.AppletPanel.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)
Avatar billede knaldeglad Nybegynder
03. maj 2004 - 13:43 #12
fatter ik en meter af det ævl.  lol..
Avatar billede arne_v Ekspert
03. maj 2004 - 13:45 #13
Ovenstående fejl overdsat til dansk: "applet har forsøgt noget den ikke har lov til"
Avatar billede knaldeglad Nybegynder
03. maj 2004 - 13:46 #14
hm....  for serveren eller fordi den køerer i "sandbox" ?
Avatar billede arne_v Ekspert
03. maj 2004 - 13:49 #15
Fordi den kører i applet "sandbox".
Avatar billede arne_v Ekspert
03. maj 2004 - 13:50 #16
Normalt anbefaler jeg altid:

browser henter applet fra server X
applet snakker HTTP med server X
ASP/PHP/JSP scripts på server X snakker med databasen
Avatar billede knaldeglad Nybegynder
03. maj 2004 - 13:56 #17
aha...  men uha.  aner ik hvordanjeg afvikler jsp på serveren... jsp bliver da afviklet lokalt så hrmff !?...  men kunne jeg ik bare ændre et eller andet i min connection så jeg kan hente fra db med appletten.  dvs den usikre metode om du vil.. ?
Avatar billede arne_v Ekspert
03. maj 2004 - 14:00 #18
JSP afvikles altid server side (JSP er ikke JavaScript).

Du kan ikke ændre noget i din kode. Da den er sikkerheds koden i JVM'en som driller.

Workaround er at putte appletten i en jar fil, signe den jar fil og
så give den signatur øgede rettigheder på client maskinerne.
Avatar billede knaldeglad Nybegynder
03. maj 2004 - 14:04 #19
aj det er sandt...  men du sagde før at det kan lade sig gøre at connecte dtil den maskine som appletten er hentet fra ?
Avatar billede knaldeglad Nybegynder
03. maj 2004 - 14:05 #20
evt uden at JVM brokker sig..
Avatar billede arne_v Ekspert
03. maj 2004 - 14:07 #21
Ja, du kan også få lov til at lave en HTTP port 80 eller MySQL port 3306
connection.

Men det her er jo fil system adgang. Jeg kunne godt forestille mig at det
ikke var muligt.
Avatar billede knaldeglad Nybegynder
03. maj 2004 - 14:15 #22
ok ok ok ok..  men hvordan mon ?  er det noget det kan tilføjes til den connection jeg har lavet ?  tilgiv mig hvis det er dumme spørgsmål..
Avatar billede arne_v Ekspert
03. maj 2004 - 14:21 #23
Du kan næppe løse problemet med connection string.

Hvis du kan så skriver du en email til Microsoft og beder dem lukke det
sikkerheds hul.
Avatar billede knaldeglad Nybegynder
03. maj 2004 - 14:28 #24
men du har ikke en fornammelse af løsningen på det pågældende problem så ?
Avatar billede arne_v Ekspert
03. maj 2004 - 14:32 #25
signing og øgede privs eller via et server side script må være mulighederne
Avatar billede knaldeglad Nybegynder
03. maj 2004 - 14:39 #26
ok taxi så..  på den igen..  :o)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester