/ Forside / Teknologi / Udvikling / Java / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Java
#NavnPoint
molokyle 3688
Klaudi 855
strarup 740
Forvirret 660
gøgeungen 500
Teil 373
Stouenberg 360
vnc 360
pmbruun 341
10  mccracken 320
Erfaren sjæl søges: "access denied: access~
Fra : harleyDK


Dato : 13-08-01 21:09

Hej Gruppe.

Som nybegynder i Java er jeg løbet ind i et problem, som jeg håber en
venlig sjæl kan hjælpe mig med:

Jeg vil lave en applet, der hentes ned fra en web-server, for derefter
at eksekvere i en browser med det formål at tilgå en access-database på
webserveren. Jeg udvikler Applet'en i Forte, og koden er den meget simple:


public void init () {

Connection connection;
Statement statement;

ResultSet resultSet;
ResultSetMetaData rsmd;

String url, username, password;
url = "jdbcbc:URLS";
username = "anonymous";
password = "guest";

// connect to database
try
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver" );
connection = DriverManager.getConnection( url, username,
password );

String query = "SELECT * FROM TABLE1";
statement = connection.createStatement();
resultSet = statement.executeQuery( query );

statement.close();

catch ( Exception cnfex )
{
System.err.println("exception caught");
cnfex.printStackTrace();
}


Det skulle jo køre fint, men jeg strander på kommandoen
"Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); Forte kommer ud med en
fejlmeddelelse der ser sådan ud: "java.security.AccessControlException:
access denied (java.lang.RunTimePermission
accessClassInPackage.sun.jdbc.odbc)". Dvs., så vidt jeg forstår er der ikke
defineret en run-time tilladelse til at læse driveren, er det mon forstået
korrekt? For at afhjælpe har jeg defineret mig en policy-fil som ligger ved
siden af min applet's class-fil i kataloget, og den tager sig sådan her ud:


grant {
permission java.lang.RuntimePermission
"accessClassInPackage.sun.jdbc.odbc";
permission java.util.PropertyPermission "file.encoding", "read";
};

.... men den bliver åbenbart ignoreret når jeg prøver at køre applet'en under
Forte, for i hvert fald kommer den ud med samme, ovenstående fejl uanset
hvor mange tilladelser jeg definerer i policy-filen. Så jeg er lidt på
herrens mark, omend jeg har set mig godt omkring efter en løsning vil det
ikke rigtig lykkedes for mig.

Er der en erfaren sjæl der har en idé om hvad jeg gør forkert, så vil
jeg sætte megen pris på det hvis han/hun ville givet et godt bud.

På forhånd tak,


Morten.


Morten Nørgaard
http://home13.inet.tele.dk/temptype
Æbeløgade 46, 4. mf. th.
2100 København Ø
Tlf. 39027102




 
 
Jakob Møllerhøj (16-08-2001)
Kommentar
Fra : Jakob Møllerhøj


Dato : 16-08-01 22:27


<snip>
> ... men den bliver åbenbart ignoreret når jeg prøver at køre applet'en
under
> Forte, for i hvert fald kommer den ud med samme, ovenstående fejl uanset
> hvor mange tilladelser jeg definerer i policy-filen. Så jeg er lidt på
> herrens mark, omend jeg har set mig godt omkring efter en løsning vil det
> ikke rigtig lykkedes for mig.
<snip>

Policyfilen skal mig bekendt ikke nødvendigvis ligge ved de aktuelle
klasser,
men derimod sammen med den profil, som er gældende for den bruger, som
er logget på. I Windows 2000 kan (skal) stigen se således ud: "C:\Documents
and Settings\(brugerprofil)\.java.policy". Hvis du kører programmet
policytool.exe
som følger med java, får du at vide, hvis ikke policyfilen ligger det
rigtige sted, sam-
tidig med, at du får den forventede (den rigtige) placering til filen
oplyst.

Jakob




Søg
Reklame
Statistik
Spørgsmål : 177501
Tips : 31968
Nyheder : 719565
Indlæg : 6408527
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste