dba:oracle_java_database
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende ÜberarbeitungNächste ÜberarbeitungBeide Seiten der Revision | ||
dba:oracle_java_database [2016/02/28 15:56] – [Architektur] gpipperr | dba:oracle_java_database [2016/02/28 16:11] – [Beispiel DNS Auflösung aus der DB mit einer Java Klasse] gpipperr | ||
---|---|---|---|
Zeile 118: | Zeile 118: | ||
==== Das erste Hello World Programm ==== | ==== Das erste Hello World Programm ==== | ||
- | Über SQL*Plus läßt sich Java direkt | + | Java in der Datenbank |
+ | |||
+ | Bei einfachen Java Programmen können diese direkt in der Datenbank erzeugt werden. | ||
+ | |||
+ | |||
+ | Über SQL*Plus lässt sich Java auch direkt in der Datenbank anlegen: | ||
<code sql> | <code sql> | ||
sqlplus gpi/gpi | sqlplus gpi/gpi | ||
Zeile 153: | Zeile 158: | ||
</ | </ | ||
+ | |||
+ | === Beispiel | ||
+ | |||
+ | <code sql> | ||
+ | CREATE OR REPLACE AND RESOLVE JAVA SOURCE NAMED " | ||
+ | import java.net.*; | ||
+ | | ||
+ | public static String getName(String ip) { | ||
+ | try { | ||
+ | InetAddress addr = InetAddress.getByName(ip); | ||
+ | System.out.println(addr.getHostName()); | ||
+ | System.out.println(addr.getHostAddress()); | ||
+ | | ||
+ | } catch (UnknownHostException e) { | ||
+ | System.err.println(e.toString()); | ||
+ | return " | ||
+ | } | ||
+ | } | ||
+ | public static void test(){ | ||
+ | System.out.println(" | ||
+ | } | ||
+ | } | ||
+ | / | ||
+ | </ | ||
+ | |||
+ | Wrapper: | ||
+ | |||
+ | <code sql> | ||
+ | CREATE OR REPLACE function getIPName(p_ip varchar2) | ||
+ | return varchar2 | ||
+ | as | ||
+ | | ||
+ | name ' | ||
+ | | ||
+ | / | ||
+ | </ | ||
+ | |||
+ | Auf einer 12c Datenbank kann das aber nicht sofort aufgerufen werden, es müssen die entsprechenden Rechte vergeben werden. | ||
+ | <code sql> | ||
+ | sqlplus / as sysdba | ||
+ | |||
+ | exec dbms_java.grant_permission( ' | ||
+ | </ | ||
+ | Hier muss in produktiven Umgebung mit etwas mehr Mühe gearbeitet werden um nicht hier gefährliche Toren zur DB zu öffnen! | ||
+ | |||
+ | |||
+ | Aufruf auf einer | ||
+ | <code sql> | ||
+ | |||
+ | select getIPName(' | ||
+ | |||
+ | |||
+ | SERVERNAME | ||
+ | ------------ | ||
+ | www.heise.de | ||
+ | |||
+ | </ | ||
+ | |||
+ | ---- | ||
+ | |||
+ | |||
+ | ==== Komplexere Java Klassen in die DB Laden==== | ||
+ | |||
+ | Über das Programm " | ||
+ | |||
+ | Siehe => https:// | ||
+ | |||
+ | |||
+ | ---- | ||
+ | |||
+ | |||
+ | |||
==== Quellen ===== | ==== Quellen ===== |
dba/oracle_java_database.txt · Zuletzt geändert: 2020/11/05 15:38 von gpipperr