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 = "jdbc
bc: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