You are not logged in.

Dear visitor, welcome to Jabaco - Community. If this is your first visit here, please read the Help. It explains in detail how this page works. To use all features of this page, you should consider registering. Please use the registration form, to register here or read more information about the registration process. If you are already registered, please login here.

psciga

Beginner

  • "psciga" is male
  • "psciga" started this thread

Posts: 3

Date of registration: Jun 30th 2010

Location: Leipzig

  • Send private message

1

Saturday, July 3rd 2010, 5:35pm

Applet lokal okay - "access denied" wenn vom Server gestartet

Hallo zusammen,

nachdem mir der Artikel aus der database pro in die Hände fiel, mußte ich JABACO einfach ausprobieren. Tolle Leistung!

Nach ein wenig Herumprobieren, versuchte ich testweise den Zugriff auf eine ODBC-Datenquelle. Dank des Forums gelang unter JABACO der Verbindungsaufbau und eine Einfache Select-Abfrage mit Anzeige in einer Messagebox.

Starte ich das JAR-File nach Kompilierung aus dem Windows-Explorer per Doppelklick, läuft auch alles.

Der Start über die HTML-Datei bringt allerdings den Fehler (siehe Anhang)

java.security.AccessControlException: access denied (java.lang.RuntimePermission accessClassInPackage.sun.jdbc.odbc)

Im nächsten Schritt habe ich am java.policy rumgedoktort. Null Erfolg und nun stehe ich etwas ratlos da.

Vielleicht noch ein paar Worte zur Umgebung und (Un)Kenntnissen von mir:

Win XP PRO SP2, Apache
Erfahrungen mit VBA und PHP
NULL Ahnung von Java

Was ich lediglich tun möchte ist, Daten aus einer DB, die im lokalen Intranet liegen, anzeigen. Das ginge sicher z.B. auch mittels PHP (so mache ich es aus anderen Gründen momentan). Allerdings bietet JABACO natürlich viel einfachere Möglichkeiten, zumal alle unsere Masken bereits in VB programmiert wurden.

Vielen Dank im Voraus - Peter
psciga has attached the following file:
  • odbcError.txt (2.52 kB - 559 times downloaded - latest: Apr 2nd 2024, 10:57pm)

psciga

Beginner

  • "psciga" is male
  • "psciga" started this thread

Posts: 3

Date of registration: Jun 30th 2010

Location: Leipzig

  • Send private message

2

Saturday, July 3rd 2010, 6:39pm

So, der erste Fehler ist gefunden. Nach einer ordentlichen Signierung, wie hier beschrieben , läuft lokal alles fein. Danke für diese gute Anleitung!

Kommt natürlich sofort das zweite Problem hinterher ... der Zugriff von einem Rechner im Netz gibt es Fehlermeldungen. Bevor ich Euch an dieser Stelle damit zutexte ... kann es sein, dass das JAR-File nur auf die lokale Umgebung zugreift?

Danke im Voraus - Peter

A1880

Intermediate

  • "A1880" is male

Posts: 500

Date of registration: Jan 1st 2009

Location: Hanover, Germany

Occupation: Software Engineer

Hobbies: Hilbert Curves

  • Send private message

3

Saturday, July 3rd 2010, 8:58pm

Um per ODBC auf eine Datenbank zuzugreifen, muss das Applet die lokalen ODBC-Treiber auf dem PC nutzen.
Das scheitert evtl. an Sicherheitsrestriktionen. Applets sollen ja eigentlich in einer "Sandbox" arbeiten und möglichst wenig lokale Ressourcen verwenden dürfen, da man sonst per Applet leicht Virien und Trojaner installiert bekommen könnte. Es hat auch den Nachteil, dass man auf jedem nutzenden PC einheitliche ODBC-Quellen konfigurieren müsste. Ich kenne auch keinen direkten Weg, um aus Jabaco/Java ODBC zu nutzen.

Daher sollte das Applet per JDBC auf die Datenbank greifen. Auch das ist nicht ganz ohne, da man so die Datenbank Zugriffen von außen öffnet. Es wäre also besser, wenn die Zugriffslogik auf dem Server und nur die Präsentationslogik im Applet abliefe. Jemand könnte z.B. das Jar-File decompilieren oder den Netzwerkverkehr mitprotokollieren und so Benutzernamen und Kennwörter herausbekommen.

Verteilte Datenverarbeitung ist immer mit einiger Einarbeitung verbunden. "Null Ahnung von Java" ist da als klares Optimierungspotenzial zu sehen.

Das Applet bzw. Jar-File läuft tatsächlich auf dem PC und nicht auf dem Server. Daher hat es auch keinen direkten Zugriff auf den Server, sondern muss über Netzwerkschnittstellen (Sockets, JDBC, Webservices, AJAX, ...) mit dem Server kommunizieren, um von dort etwas zu bekommen.

Letzter Tipp für heute: seit einigen Jahren ist XP SP3 verfügbar. Mit SP2 sind diverse Sicherheitsrisiken und Fehler verbunden.

Gruß!

A1880

psciga

Beginner

  • "psciga" is male
  • "psciga" started this thread

Posts: 3

Date of registration: Jun 30th 2010

Location: Leipzig

  • Send private message

4

Monday, July 5th 2010, 11:24am

Hallo A1880,

vielen Dank für Deine Hinweise.
Um per ODBC auf eine Datenbank zuzugreifen, muss das Applet die lokalen ODBC-Treiber auf dem PC nutzen.
Klar ... da hätte ich selbst drauf kommen müssen. Wenn ich eine ODBC-Verbindung vom lokalen AP auf die Serverdatenbank einrichte, funktioniert es auch.
Daher sollte das Applet per JDBC auf die Datenbank greifen
Das werde ich im nächsten Step probieren.

Quoted

"Null Ahnung von Java" ist da als klares Optimierungspotenzial zu sehen.
Da stimme ich Dir 100% zu. Nur weiß ich nicht, ob man mir dafür die Möglichkeiten gibt. Letztlich soll nix anderes geschehen, als ein paar Select-, Insert-, Update-, und Delete-Anweisungen schnell in ansehnliche Masken zu verpacken.

Und da alle Masken eigentlich schon in VB fix und fertig für "normale" Windowsanwendungen vorliegen war der Gedanke zu verlockend, an dieser Stelle JABACO einzusetzen.

Dennoch werde ich JABACO mal unserem Chef empfehlen.

Viele Grüße - Peter

Rate this thread
WoltLab Burning Board