Präsentation herunterladen
Die Präsentation wird geladen. Bitte warten
Veröffentlicht von:Swanhilda Katt Geändert vor über 11 Jahren
1
Oracle – XSQL in der Anwendung SIG Development (Tools) Oracle & XML Kassel, 04.06.2002 Thomas Matzke, HTWK Leipzig
2
Inhalt Vorstellung von PLANet Kurze Einführung der XSQL – Technologie Was wird bei PLANet verwendet Erklärung der einzelnen Techniken
3
Vorstellung von PLANet Datenbankbasierte Planung von Lehrveranstaltungen als Intranet-Lösung –Planer –Professoren und Dozenten Erzeugung von Listen –Stundenblatt –Dozentenblatt –Matrikelübersicht Auswertung und Statistiken Flexible Darstellung: HTML, PDF, Graphik, Excel...
4
Browser Servlet- Engine+ Server Request an Server DB Oracle- Über XSQL-Skript Queries auf DB Rückgabe eines Result-Sets <?xml ver...... XML-Generierung aus Result-Set HTML PDF 10 8 9 SVG mit XSL-Stylesheet Transformation in JDBC XSQL-Technologie
5
Komponenten Datenbankserver: Oracle 8.1.6 i / 9.0.1.1.1i - Tablespace auf Oracle 8 in UTF-8 - Tablespace auf Oracle 9 in ISO-8859-1 Web-Server: Tomcat 3.3 beta http://jakarta.apache.org XSQL-Servlet aus XDK 9.0.2.0.0D
6
XSQL-Technologie Aufbau eines XSQL-Skripts select name,vorname,email,telefon from dozent XML-Header für Deutschland Elemente- Bezeichnung für XML Query Alias für DB-Verbindung (xsqlconfig.jar)
7
XSQL-Technologie
8
Was wird bei PLANet verwendet Single / Multiple Parameters Insert, Update, Delete - mit - als PL/SQL-Prozedur - als DML-Statement Session – Handling über Nested Cursor FO
9
Erklärung der einzelnen Techniken Insert mit Pflicht-Parameter table - Tabellenbezeichnung transform - Transformationsskript mit Spaltennamen - ermöglicht einfügen mehrerer Datensätze mit einem Aufruf - kann URL oder File sein Einsatzmöglichkeiten bei Formularen
10
Erklärung der einzelnen Techniken Insert mit Aufbau des Transformsheets … Spaltenbezeichnungen GROSS schreiben Elemente sind Spaltenbezeichnung
11
Erklärung der einzelnen Techniken Update mit Pflicht-Parameter table transform key-columns - Angabe der Spaltennamen mit denen Datensatz identifiziert werden soll - Angabe mehrere Spalten möglich, Trennung durch Komma
12
Erklärung der einzelnen Techniken Delete mit Pflicht-Parameter table transform key-columns - Angabe der Spaltennamen mit denen Datensatz identifiziert werden soll - Angabe mehrere Spalten möglich, Trennung durch Komma
13
Erklärung der einzelnen Techniken Single / Multiple Parameter Parameter aus Formularen bzw. Session-Managment Parameter-Anzeige mit Darstellung in XSQL:......
14
Erklärung der einzelnen Techniken Zugriff auf Single / Multiple Parameter im XSQL-Skript Zugriff auf Single-Parameter mit {@name} keine Pfadangaben, deswegen dürfen Session-Parameter und Request-Parameter nicht die gleiche Bezeichnung haben falls doch, hat Session-Parameter Vorrang Zugriff auf alle Multiple-Parameters nicht möglich nur erster Parameter wird erfasst
15
Single / Multiple Parameters - kann aus Textfeld, Listbox oder Radio-Button sein 430 Erklärung der einzelnen Techniken
16
Single / Multiple Parameters - kann durch mehrere Checkboxes,Textfelder mit gleichem Namen entstehen 430 429... Erklärung der einzelnen Techniken
17
Insert, Update, Delete mit Element besteht aus SQL-Statement Statement darf nicht mit Semikolon abgeschlossen werden geeignet, wenn nur Single-Parameters verarbeitet werden eignet sich auch zum Ausführen von Programmblöcken Statements müssen mit 'begin und 'end eingeschlossen werden Nachteil bei Blöcken ist nicht eindeutige Fehlerausgabe
18
Erklärung der einzelnen Techniken Insert, Update, Delete mit Statements müssen in PL/SQL-Prozedur stehen Aufruf erfolgt durch Prozedur-Name hinter Prozedur-Name muss Semikolon stehen gut geeignet, wenn Parameter noch überprüft werden müssen
19
Erklärung der einzelnen Techniken mit Single/Multiple-Parameters Problem: unterschiedliche Parameterdarstellung für Single/Multiple-Parameters 430 430 429 SINGLE MULTIPLE
20
Erklärung der einzelnen Techniken Unterscheidung zwischen Single und Multiple-Parameters muss im Transform-Sheet implementiert werden Einsatz von im Transformations-Stylesheet funktioniert auch bei Delete und Update mit Single/Multiple-Parameters
21
Erklärung der einzelnen Techniken
22
mit Single/Multiple-Parameters Query mit Multiple-Parametern kann bei Formularen mit mehreren gleichnamigen Checkboxes auftreten, wenn man z.B. Detailangaben über mehrere Sachen gleichzeitig haben möchte Art des Zugriffes auf Parameter mit {@variable} läßt Multiple-Parameter nicht zu Lösung: Einsatz von Dummy-Tabellen Übergebene Parameter werden vor Ausführung der Query mit in Dummy-Tabelle gespeichert Parameter können dann mit Joins über Dummy-Tabelle verarbeitet werden
23
Erklärung der einzelnen Techniken Session-Handling Speicherung der Session-Parameter in......
24
Erklärung der einzelnen Techniken Session-Handling Sessionparameter müssen nur einmal gespeichert werden Sessionparameter mit gleichem Namen wie Requestparameter haben Vorrang im XSQL-Skript Sessionparameter lassen sich überschreiben Setzen von Parametern mit Wertzuweisung durch Attribut 'value' oder durch Query
25
Erklärung der einzelnen Techniken Session-Handling Zuweisung mit 'value', wenn Request-Parameter als Session-Parameter gesetzt Zuweisung mit Query, wenn Parameter abhängig vom Request-Parameter aus der Datenbank bestimmt werden select dozid from dozent where name=(select name from nutzer where login='{@login}')
26
Erklärung der einzelnen Techniken Nested Cursor kann nur in erzeugt werden aus Query wird eine XML-typische Hierarchie erzeugt macht Gruppierung nach Werten einfacher läßt sich beliebig tief schachteln Grenze höchstens durch Rekursionstiefe von XSQL-Servlet Beispiel: Hierarchie Fachbereich, Studiengang, Semester, Fach Tiefe = 4
27
Erklärung der einzelnen Techniken Nested Cursor Gruppierung der Elementen durch "group by" in Query Cursor dürfen aber hinter "group by" nicht aufgeführt werden Cursor bekommen eine Bezeichnung für späteren Zugriff in XSL Beispiel: select f.fbereich, cursor (select fa.studiengang from faecher fa where fa.fbereich=f.fbereich group by fa.studiengang) as studgang from faecher f group by f.fbereich
28
Erklärung der einzelnen Techniken Probleme bei Nested Cursor Nullwertbehandlung (leere Unterbäume) - bei normalen Querys Angabe von Alternativ-Querys select fachid from faecher select 'vorlesung' from dual - bei Cursor Alternativ-Query nicht möglich - Möglichkeit: Weiterer Cursor auf gleicher Ebene, der eine Count-Query enthält, der die Result-Zeilen zählt
29
Erklärung der einzelnen Techniken FO - Formatting Objects Ausgabe von PDF über XSQL möglich Voraussetzung: - FO-Bibliotheken (fop.jar) http://xml.apache.org/fop - xsqlserializers.jar Zugriff auf Processing Engine durch Zusatz "serializer=FOP" in Stylesheet-Definition zusätzliche Angabe des FO-Namespace in Stylesheet
30
<xsl:stylesheet xmlns:xsl = "http://www.w3.org/1999/XSL/Transform" version="1.0" xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:version="1.0"> Erklärung der einzelnen Techniken FO - Formatting Objects Angabe des Namespace von XSLT-Engine nötig, da sonst nicht mit Templates gearbeitet werden kann Seitenrumpf sieht dann wie folgt aus:
31
<xsl:stylesheet xmlns:xsl = "http://www.w3.org/1999/XSL/Transform" version="1.0" xmlns:fo="http://www.w3.org/1999/XSL/Format" xsl:version="1.0"> … Erklärung der einzelnen Techniken FO - Formatting Objects FOP-Beispiel in XSQL-Beispielen von ORACLE
32
Erklärung der einzelnen Techniken Generelle Probleme Umlaute Nullwertbehandlung in Querys - Überprüfung ob Element leer, nicht möglich - siehe Überprüfung bei Multiple ParametersMultiple Parameters Speicherbegrenzung in FOP
Ähnliche Präsentationen
© 2025 SlidePlayer.org Inc.
All rights reserved.