FileMaker und Java...und es öffnen sich neue Welten!

Größe: px
Ab Seite anzeigen:

Download "FileMaker und Java...und es öffnen sich neue Welten!"

Transkript

1 FileMaker und Java...und es öffnen sich neue Welten! schubec GmbH

2 Inhaber und Geschäftsführer der schubec GmbH Betreiber von FileMakerProfis.de PHP Java Google Web Toolkit Vaadin Wicket SQL Datenbanken Websecurity Netzwerktechnik

3 Vortragsziel Klären: Was ist Java? Was braucht man um Java nutzen zu können? Die Zugriffsarten JDBC FileMaker API 4 Java Praxisrelevante Beispiele Der Vortrag ist keine Java-Schulung Vollständige Codebeispiele in Folien und bei den Beispielen

4 Java Objektorientierte Programmiersprache SUN / Oracle Plattformunabhängig Windows Mac Linux kostenlos

5 Zugriffsmöglichkeiten auf FileMaker Java Database Connectivity (JDBC) FileMaker API 4 Java in Entwicklung bei schubec in Anlehnung an FileMaker API 4 PHP

6 JDBC Treiber - woher nehmen?

7 JDBC Wie ODBC für die Java-Welt FileMaker Server dient als Datenquelle Java-Programm liest Daten aus oder schreibt Daten in Datenquelle Extrem schnell!!! Bei weitem! schneller als FileMaker API 4 PHP Extrem robust Einmal eingerichtet, lauft das Ding quasi für immer! Bild-Quelle: FileMaker ODBC and JDBC Guide

8 JDBC package com.schubec.demo.fmk2012.jdbc; import java.sql.connection; import java.sql.drivermanager; import java.sql.resultset; public class JdbcTest { private static final String SERVER = "fm9.langhofer.net"; private static final String USERNAME = "jdbc"; private static final String PASSWORD = "jdbc"; private static final String PORT = "2399"; private static final String DATABASE = "fmk2012"; public static void main(string[] args) { try { Class.forName("com.ddtek.jdbc.sequelink.SequeLinkDriver").newInstance(); String jdbcstring = "jdbc:sequelink://" + SERVER + ":" + PORT + ";user=" + USERNAME + ";password=" + PASSWORD + ";serverdatasource=" + DATABASE; Connection connection = DriverManager.getConnection(jdbcString); String sql = "SELECT Thema, Untertitel FROM Themen"; ResultSet resultset = connection.preparestatement(sql).executequery(); while (resultset.next()) { System.out.println(resultSet.getString("Thema")); System.out.println(resultSet.getString("Untertitel")); System.out.println("==============================="); catch (Exception e) { e.printstacktrace();

9 JDBC package com.schubec.demo.fmk2012.jdbc; import java.sql.connection; import java.sql.drivermanager; import java.sql.resultset; Verbindungsparameter public class JdbcTest { private static final String SERVER = "fm9.langhofer.net"; private static final String USERNAME = "jdbc"; private static final String PASSWORD = "jdbc"; private static final String PORT = "2399"; private static final String DATABASE = "fmk2012"; public static void main(string[] args) { Connection-String: try { Class.forName("com.ddtek.jdbc.sequelink.SequeLinkDriver").newInstance(); FileMaker 10: jdbc:sequelink://<sequelink host IP address>:<port>;serverdatasource=<databasename>;dbuser=<databaseusername>; String jdbcstring = "jdbc:sequelink://" + SERVER + ":" + PORT + ";user=" + USERNAME + ";password=" + PASSWORD DBPassword=<databasepassword> + ";serverdatasource=" + DATABASE; Connection connection = DriverManager.getConnection(jdbcString); FileMaker 11: jdbc:filemaker://<filemaker host IP address>:<port>/ <databasename>? user=<databaseusername>&password=<databasepassword> String sql = "SELECT Thema, Untertitel FROM Themen"; ResultSet resultset = connection.preparestatement(sql).executequery(); while (resultset.next()) { System.out.println(resultSet.getString("Thema")); FileMaker 12: System.out.println(resultSet.getString("Untertitel")); System.out.println("==============================="); catch (Exception e) { e.printstacktrace(); jdbc:filemaker://<filemaker host IP address>:<port>/<databasename>? user=<databaseusername>&password=<databasepassword>

10 JDBC package com.schubec.demo.fmk2012.jdbc; import java.sql.connection; import java.sql.drivermanager; import java.sql.resultset; Verbindungsparameter public class JdbcTest { private static final String SERVER = "fm9.langhofer.net"; private static final String USERNAME = "jdbc"; private static final String PASSWORD = "jdbc"; private static final String PORT = "2399"; private static final String DATABASE = "fmk2012"; public static void main(string[] args) { Connection-String: try { Class.forName("com.ddtek.jdbc.sequelink.SequeLinkDriver").newInstance(); FileMaker 10: jdbc:sequelink://fm9.langhofer.net: 2399;user=jdbc;password=jdbc;serverDataSource=fmk2012 String jdbcstring = "jdbc:sequelink://" + SERVER + ":" + PORT + ";user=" + USERNAME + ";password=" + PASSWORD + ";serverdatasource=" + DATABASE; Connection connection = DriverManager.getConnection(jdbcString); String sql = "SELECT Thema, Untertitel FROM Themen"; ResultSet resultset = connection.preparestatement(sql).executequery(); while (resultset.next()) { System.out.println(resultSet.getString("Thema")); System.out.println(resultSet.getString("Untertitel")); System.out.println("==============================="); catch (Exception e) { e.printstacktrace();

11 JDBC package com.schubec.demo.fmk2012.jdbc; import java.sql.connection; import java.sql.drivermanager; import java.sql.resultset; public class JdbcTest { private static final String SERVER = "fm9.langhofer.net"; private static final String USERNAME = "jdbc"; private static final String PASSWORD = "jdbc"; private static final String PORT = "2399"; private static final String DATABASE = "fmk2012"; JDBC Treiber laden public static void main(string[] args) { try { Class.forName("com.ddtek.jdbc.sequelink.SequeLinkDriver").newInstance(); String jdbcstring = "jdbc:sequelink://" + SERVER + ":" + PORT + ";user=" + USERNAME + ";password=" + PASSWORD + ";serverdatasource=" + DATABASE; Connection connection = DriverManager.getConnection(jdbcString); FileMaker 10: String sql = "SELECT Thema, Untertitel FROM Themen"; ResultSet resultset = connection.preparestatement(sql).executequery(); while (resultset.next()) { System.out.println(resultSet.getString("Thema")); System.out.println(resultSet.getString("Untertitel")); System.out.println("==============================="); catch (Exception e) { e.printstacktrace(); JDBC-Treiber: com.ddtek.jdbc.sequelink.sequelinkdriver FileMaker 11: com.filemaker.jdbc.driver FileMaker 12: com.filemaker.jdbc.driver

12 JDBC package com.schubec.demo.fmk2012.jdbc; import java.sql.connection; import java.sql.drivermanager; import java.sql.resultset; public class JdbcTest { private static final String SERVER = "fm9.langhofer.net"; private static final String USERNAME = "jdbc"; private static final String PASSWORD = "jdbc"; private static final String PORT = "2399"; private static final String DATABASE = "fmk2012"; SQL Statement public static void main(string[] args) { try { Class.forName("com.ddtek.jdbc.sequelink.SequeLinkDriver").newInstance(); String jdbcstring = "jdbc:sequelink://" + SERVER + ":" + PORT + ";user=" + USERNAME + ";password=" + PASSWORD + ";serverdatasource=" + DATABASE; Connection connection = DriverManager.getConnection(jdbcString); String sql = "SELECT Thema, Untertitel FROM Themen"; ResultSet resultset = connection.preparestatement(sql).executequery(); while (resultset.next()) { System.out.println(resultSet.getString("Thema")); System.out.println(resultSet.getString("Untertitel")); System.out.println("==============================="); catch (Exception e) { e.printstacktrace();

13 JDBC package com.schubec.demo.fmk2012.jdbc; import java.sql.connection; import java.sql.drivermanager; import java.sql.resultset; public class JdbcTest { private static final String SERVER = "fm9.langhofer.net"; private static final String USERNAME = "jdbc"; private static final String PASSWORD = "jdbc"; private static final String PORT = "2399"; private static final String DATABASE = "fmk2012"; SQL-Befehl ausführen public static void main(string[] args) { try { Class.forName("com.ddtek.jdbc.sequelink.SequeLinkDriver").newInstance(); String jdbcstring = "jdbc:sequelink://" + SERVER + ":" + PORT + ";user=" + USERNAME + ";password=" + PASSWORD + ";serverdatasource=" + DATABASE; Connection connection = DriverManager.getConnection(jdbcString); String sql = "SELECT Thema, Untertitel FROM Themen"; ResultSet resultset = connection.preparestatement(sql).executequery(); while (resultset.next()) { System.out.println(resultSet.getString("Thema")); System.out.println(resultSet.getString("Untertitel")); System.out.println("==============================="); catch (Exception e) { e.printstacktrace();

14 JDBC package com.schubec.demo.fmk2012.jdbc; import java.sql.connection; import java.sql.drivermanager; import java.sql.resultset; public class JdbcTest { private static final String SERVER = "fm9.langhofer.net"; private static final String USERNAME = "jdbc"; private static final String PASSWORD = "jdbc"; private static final String PORT = "2399"; private static final String DATABASE = "fmk2012"; Ergebnis ausgeben public static void main(string[] args) { try { Class.forName("com.ddtek.jdbc.sequelink.SequeLinkDriver").newInstance(); String jdbcstring = "jdbc:sequelink://" + SERVER + ":" + PORT + ";user=" + USERNAME + ";password=" + PASSWORD + ";serverdatasource=" + DATABASE; Connection connection = DriverManager.getConnection(jdbcString); String sql = "SELECT Thema, Untertitel FROM Themen"; ResultSet resultset = connection.preparestatement(sql).executequery(); while (resultset.next()) { System.out.println(resultSet.getString("Thema")); System.out.println(resultSet.getString("Untertitel")); System.out.println("==============================="); catch (Exception e) { e.printstacktrace();

15 JDBC Ergebnis

16 JDBC Medienfelder können gelesen und geschrieben werden (Das ist über andere Schnittstellen, zb FM API 4 PHP, nicht möglich!) File file = new File ("/Users/schube/Pictures/FMK_Logo_2012.gif"); FileInputStream inputstream = new FileInputStream (file); String sql = "INSERT INTO Medienfeldtest (DasMedienfeld) VALUES(PutAs(?, 'GIFf'))"; PreparedStatement preparestatement = connection.preparestatement(sql); preparestatement.setbinarystream (1, inputstream, (int)file.length ()); preparestatement.execute();

17 JDBC - Containerfeld Datentypen Tabelle-Quelle: FileMaker ODBC and JDBC Guide

18 JDBC & Medienfeld - vollständiger Code package com.schubec.demo.fmk2012.jdbc; import java.io.file; import java.io.fileinputstream; import java.sql.connection; import java.sql.drivermanager; import java.sql.preparedstatement; import java.sql.resultset; public class JdbcContainerTest { private static final String SERVER = "fm9.langhofer.net"; private static final String USERNAME = "jdbc"; private static final String PASSWORD = "jdbc"; private static final String PORT = "2399"; private static final String DATABASE = "fmk2012"; public static void main(string[] args) { try { Class.forName("com.ddtek.jdbc.sequelink.SequeLinkDriver").newInstance(); String jdbcstring = "jdbc:sequelink://" + SERVER + ":" + PORT + ";user=" + USERNAME + ";password=" + PASSWORD + ";serverdatasource=" + DATABASE; Connection connection = DriverManager.getConnection(jdbcString); File file = new File ("/Users/schube/Pictures/FMK_Logo_2012.gif"); FileInputStream inputstream = new FileInputStream (file); String sql = "INSERT INTO Medienfeldtest (DasMedienfeld) VALUES(PutAs(?, 'GIFf'))"; PreparedStatement preparestatement = connection.preparestatement(sql); preparestatement.setbinarystream (1, inputstream, (int)file.length ()); preparestatement.execute(); catch (Exception e) { e.printstacktrace();

19 JDBC Abfragen basieren auf Tabellenauftreten Abfragen werden mittels SQL-Befehle formuliert FileMaker Tabellen können erzeugt/geändert werden! CREATE TABLE ALTER TABLE CREATE INDEX DROP INDEX

20 JDBC - Datenbankstruktur ändern sql = "CREATE TABLE T1 (C1 VARCHAR, C2 VARCHAR (50), C3 VARCHAR (1001),C4 VARCHAR (500276))"; connection.preparestatement(sql).execute(); sql = "CREATE TABLE T1NN (C1 VARCHAR NOT NULL, C2 VARCHAR (50) NOT NULL, C3 VARCHAR (1001) NOT NULL, C4 VARCHAR (500276) NOT NULL)"; connection.preparestatement(sql).execute(); sql = "CREATE TABLE T2 (C1 DECIMAL, C2 DECIMAL (10,0), C3 DECIMAL (7539,2), C4 DECIMAL (497925,301))"; connection.preparestatement(sql).execute(); sql = "CREATE TABLE T3 (C1 DATE, C2 DATE, C3 DATE, C4 DATE)"; connection.preparestatement(sql).execute(); sql = "CREATE TABLE T4 (C1 TIME, C2 TIME, C3 TIME, C4 TIME)"; connection.preparestatement(sql).execute(); sql = "CREATE TABLE T5 (C1 TIMESTAMP, C2 TIMESTAMP, C3 TIMESTAMP,C4 TIMESTAMP)"; connection.preparestatement(sql).execute(); sql = "CREATE TABLE T6 (C1 BLOB, C2 BLOB, C3 BLOB, C4 BLOB)"; connection.preparestatement(sql).execute(); Beispiel-Quelle: FileMaker ODBC and JDBC Guide

21 package com.schubec.demo.fmk2012.jdbc; JDBC - Index auslesen import java.sql.connection; import java.sql.drivermanager; import java.sql.resultset; public class IndexAuslesenTest { private static final String SERVER = "fm9.langhofer.net"; private static final String USERNAME = "jdbc"; private static final String PASSWORD = "jdbc"; private static final String PORT = "2399"; private static final String DATABASE = "fmk2012"; public static void main(string[] args) { try { Class.forName("com.ddtek.jdbc.sequelink.SequeLinkDriver").newInstance(); String jdbcstring = "jdbc:sequelink://" + SERVER + ":" + PORT + ";user=" + USERNAME + ";password=" + PASSWORD + ";serverdatasource=" + DATABASE; Connection connection = DriverManager.getConnection(jdbcString); String sql = "SELECT DISTINCT \"Web Farbe\" AS farbe FROM Themen"; ResultSet resultset = connection.preparestatement(sql).executequery(); while (resultset.next()) { System.out.println(resultSet.getString("farbe")); System.out.println("==============================="); catch (Exception e) { e.printstacktrace(); Beispiel-Quelle: FileMaker ODBC and JDBC Guide

22 JDBC Viele weitere SQL-Abfragen möglich! Abfragen, die mit FileMaker gar nicht oder nur extrem kompliziert möglich wären. Viel Spass beim SQL-Lernen! Ist ohnehin für FileMaker Entwickler sehr nützlich! Zum Beispiel bei der Session FM12 - Mit SQL-Kommandos FileMaker Daten lesen - und schreiben von Nico Busch heute um 16 Uhr im Schloss Saal 1! Beispiel-Quelle: FileMaker ODBC and JDBC Guide

23 FileMaker API 4 Java Basiert auf XML-Schnittstelle des FileMaker Server Idee von FileMaker API 4 PHP von FileMaker Inc. übernommen Entwicklung durch schubec GmbH Lange Erfahrung mit der XML Schnittstelle Entwicklung von FM-and-PHP im Jahre 2001 Momentan im BETA-Stadium Veröffentlichungsdatum und Konditionen ungewiss Bei Interesse bitte an office@schubec.com wenden

24 FileMaker API 4 Java Hat in etwa die gleichen Funktionen und Einschränkungen wie FileMaker API 4 PHP Abfragen basieren auf Layouts Medienfelder können nur gelesen werden Performance mittelmässig Benötigt zwingend FileMaker Server Es können FileMaker Scripts ausgeführt werden! Basiert auf HTTP Protokoll kaum Probleme bei Übertragung über Internet XML-Schnittstelle bei FileMaker Provider weit verbreitet FileMaker API 4 PHP Programmierer können ganz leicht umsteigen

25 package com.schubec.demo.fmk2012.fmapi4java; FileMaker API 4 Java import com.schubec.libraries.fmapi4java.filemaker; import com.schubec.libraries.fmapi4java.commands.findallcommand; import com.schubec.libraries.fmapi4java.enums.protocol; import com.schubec.libraries.fmapi4java.models.database; import com.schubec.libraries.fmapi4java.models.layout; import com.schubec.libraries.fmapi4java.models.record; import com.schubec.libraries.fmapi4java.results.resultset; public class FmApi4JavaTest { private static final String SERVER = "fm9.langhofer.net"; private static final String USERNAME = "web"; private static final String PASSWORD = "web"; private static final String DATABASE = "fmk2012"; public static void main(string[] args) { try { FileMaker fm = new FileMaker(SERVER, Protocol.HTTP, USERNAME, PASSWORD); Database db = fm.newdatabase(database); Layout lay = db.newlayout("themen"); FindAllCommand command = lay.newfindallcommand(); ResultSet<Record> result; result = command.execute(); for (Record record : result.getrecords()) { System.out.println(record.getField("Thema").getValue()); System.out.println(record.getField("Untertitel").getValue()); System.out.println("==============================="); catch (Exception e) { e.printstacktrace();

26 package com.schubec.demo.fmk2012.fmapi4java; FileMaker API 4 Java import com.schubec.libraries.fmapi4java.filemaker; import com.schubec.libraries.fmapi4java.commands.findallcommand; import com.schubec.libraries.fmapi4java.enums.protocol; import com.schubec.libraries.fmapi4java.models.database; import com.schubec.libraries.fmapi4java.models.layout; import com.schubec.libraries.fmapi4java.models.record; import com.schubec.libraries.fmapi4java.results.resultset; Verbindungsparameter public class FmApi4JavaTest { private static final String SERVER = "fm9.langhofer.net"; private static final String USERNAME = "web"; private static final String PASSWORD = "web"; private static final String DATABASE = "fmk2012"; public static void main(string[] args) { try { FileMaker fm = new FileMaker(SERVER, Protocol.HTTP, USERNAME, PASSWORD); Database db = fm.newdatabase(database); Layout lay = db.newlayout("themen"); FindAllCommand command = lay.newfindallcommand(); ResultSet<Record> result; result = command.execute(); for (Record record : result.getrecords()) { System.out.println(record.getField("Thema").getValue()); System.out.println(record.getField("Untertitel").getValue()); System.out.println("==============================="); catch (Exception e) { e.printstacktrace();

27 package com.schubec.demo.fmk2012.fmapi4java; FileMaker API 4 Java import com.schubec.libraries.fmapi4java.filemaker; import com.schubec.libraries.fmapi4java.commands.findallcommand; import com.schubec.libraries.fmapi4java.enums.protocol; import com.schubec.libraries.fmapi4java.models.database; import com.schubec.libraries.fmapi4java.models.layout; import com.schubec.libraries.fmapi4java.models.record; import com.schubec.libraries.fmapi4java.results.resultset; public class FmApi4JavaTest { private static final String SERVER = "fm9.langhofer.net"; private static final String USERNAME = "web"; private static final String PASSWORD = "web"; private static final String DATABASE = "fmk2012"; Befehl (FindAll / Alle aufrufen) public static void main(string[] args) { try { FileMaker fm = new FileMaker(SERVER, Protocol.HTTP, USERNAME, PASSWORD); Database db = fm.newdatabase(database); Layout lay = db.newlayout("themen"); FindAllCommand command = lay.newfindallcommand(); ResultSet<Record> result; result = command.execute(); for (Record record : result.getrecords()) { System.out.println(record.getField("Thema").getValue()); System.out.println(record.getField("Untertitel").getValue()); System.out.println("==============================="); catch (Exception e) { e.printstacktrace();

28 package com.schubec.demo.fmk2012.fmapi4java; FileMaker API 4 Java import com.schubec.libraries.fmapi4java.filemaker; import com.schubec.libraries.fmapi4java.commands.findallcommand; import com.schubec.libraries.fmapi4java.enums.protocol; import com.schubec.libraries.fmapi4java.models.database; import com.schubec.libraries.fmapi4java.models.layout; import com.schubec.libraries.fmapi4java.models.record; import com.schubec.libraries.fmapi4java.results.resultset; Befehl ausführen public class FmApi4JavaTest { private static final String SERVER = "fm9.langhofer.net"; private static final String USERNAME = "web"; private static final String PASSWORD = "web"; private static final String DATABASE = "fmk2012"; public static void main(string[] args) { try { FileMaker fm = new FileMaker(SERVER, Protocol.HTTP, USERNAME, PASSWORD); Database db = fm.newdatabase(database); Layout lay = db.newlayout("themen"); FindAllCommand command = lay.newfindallcommand(); ResultSet<Record> result; result = command.execute(); for (Record record : result.getrecords()) { System.out.println(record.getField("Thema").getValue()); System.out.println(record.getField("Untertitel").getValue()); System.out.println("==============================="); catch (Exception e) { e.printstacktrace();

29 package com.schubec.demo.fmk2012.fmapi4java; FileMaker API 4 Java import com.schubec.libraries.fmapi4java.filemaker; import com.schubec.libraries.fmapi4java.commands.findallcommand; import com.schubec.libraries.fmapi4java.enums.protocol; import com.schubec.libraries.fmapi4java.models.database; import com.schubec.libraries.fmapi4java.models.layout; import com.schubec.libraries.fmapi4java.models.record; import com.schubec.libraries.fmapi4java.results.resultset; Ausgabe public class FmApi4JavaTest { private static final String SERVER = "fm9.langhofer.net"; private static final String USERNAME = "web"; private static final String PASSWORD = "web"; private static final String DATABASE = "fmk2012"; public static void main(string[] args) { try { FileMaker fm = new FileMaker(SERVER, Protocol.HTTP, USERNAME, PASSWORD); Database db = fm.newdatabase(database); Layout lay = db.newlayout("themen"); FindAllCommand command = lay.newfindallcommand(); ResultSet<Record> result; result = command.execute(); for (Record record : result.getrecords()) { System.out.println(record.getField("Thema").getValue()); System.out.println(record.getField("Untertitel").getValue()); System.out.println("==============================="); catch (Exception e) { e.printstacktrace();

30 FileMaker API 4 Java Ergebnis

31 JDBC vs. FileMaker API 4 Java JDBC FMAPI4JAVA (FMAPI4PHP) Client / Server? Client o. Server Nur Server Nur Server Protokoll JDBC HTTP HTTP Geschwindigkeit Medienfelder lesen Medienfelder schreiben Datenbankstruktur ändern Scripts ausführen Dokumentation Verfügbarkeit Abfragen per SQL-Befehl FM proprietär Abfragen basieren auf Tabellenauftreten Layouts

32 JDBC vs. FileMaker API 4 Java Was ist besser? Kommt drauf an... Unterschiedliche Features Vorschlag: Beides mischen!

33 FileMaker & Java - wozu? Viele professionelle & kostenlose Bibliotheken Lesen & Schreiben von Excel, Word, Powerpoint (Apache POI) Reportgeneratoren (ireport) Webinterfaces (Vaadin, GWT, Wicket, etc.) CalDAV Unterschied zu PHP professionellere Tools & Entwicklung unter anderem durch statische Typisierung einheitliche Java Umgebungen PHP-Umgebungen unterscheiden sich oft erheblich ausgereiftere Bibliotheken Application Server Jedoch komplizirteres Deployment höhere Hostingkosten

34 FileMaker & Java - HL7 Health Level 7 (HL7) ist eine Gruppe internationaler Standards für den Austausch von Daten zwischen Organisationen im Gesundheitswesen und deren Computersystemen. (Wikipedia) Beispielnachricht: MSH ^~\& EPIC EPICADT SMS SMSADT CHARRIS ADT^A D 2.5 PID ^^^2^ID DOE^JOHN^^^^ DOE^JOHN^^^^ M B 254 MYSTREET AVE^^MYTOWN^OH^44123^USA (216) M NON ~ NK1 ROE^MARIE^^^^ SPO (216) EC PV1 O 168 ~219~C~PMA^^^^^^^^^ 277^ALLEN MYLASTNAME^BONNIE^^^^

35 FileMaker & Java - HAPI Einlesen in FileMaker? Studentengruppe: Parsen per PHP instabil fehleranfällig Lösung: FileMaker JDBC und

36 FileMaker & Java - HAPI Universitätsklinik Salzburg / Chirurgie West Problemlose Verarbeitung von mehr als HL7 Nachrichten

37 FileMaker & Java - HAPI QM an der UK für Chirurgie, Salzburg Text UK für Chirurgie der Paracelsus Medizinische Privatuniversität Salzburg Stellenwert der QS in der Chirurgie D. Öfner-Velano

38 FileMaker & Java - Beispiele ireport Reporting Engine, die weit mehr kann als FileMaker kostenlos

39 FileMaker & Java - Beispiele

40 FileMaker & Java - Beispiele

41 FileMaker & Java - Beispiele

42 FileMaker & Java - Beispiele

43 FileMaker & Java - Beispiele

44 FileMaker & Java - Beispiele

45 FileMaker & Java - Beispiele

46 FileMaker & Java - Beispiele SELECT Sessions."Info" AS Sessions_Info, Sessions."Durchfuehrung_Zeit_von" AS Sessions_Durchfuehrung_Zeit_von, Sessions."Durchfuehrung_Zeit_bis" AS Sessions_Durchfuehrung_Zeit_bis, Themen."Thema" AS Themen_Thema, Themen."Beschreibung" AS Themen_Beschreibung, Themen."Untertitel" AS Themen_Untertitel, Sessions."Durchfuehrung_Datum" AS Sessions_Durchfuehrung_Datum, Themen."Sortfield" AS Themen_Sortfield FROM "Themen" Themen INNER JOIN "Sessions" Sessions ON Themen."pkThema" = Sessions."fkThema" ORDER BY Sessions."Durchfuehrung_Datum", Sessions."Durchfuehrung_Zeit_von"

47 FileMaker & Java - Beispiele

48 FileMaker & Java - Beispiele

49 FileMaker & Java - Beispiele

50 FileMaker & Java - Beispiele

51 FileMaker & Java - Beispiele

52 FileMaker & Java - Beispiele

53 ireport

54 FileMaker & Java - Beispiele ireport Reporting Engine, die weit mehr kann als FileMaker kostenlos

55 FileMaker & Java - Solr Suchmaschine FileMaker Daten hineinfüttern Webinterface nutzen

56 FileMaker & Java - Solr package com.schubec.demo.fmk2012.solr; import java.net.malformedurlexception; import java.sql.connection; import java.sql.drivermanager; import java.sql.resultset; import org.apache.log4j.logger; import org.apache.solr.client.solrj.solrserver; import org.apache.solr.client.solrj.solrserverexception; import org.apache.solr.client.solrj.impl.commonshttpsolrserver; import org.apache.solr.common.solrinputdocument; public class Start { private static final String SERVER = "localhost"; private static final String USERNAME = "jdbc"; private static final String PASSWORD = "jdbc"; private static final String PORT = "2399"; private static final String DATABASE = "schubec s"; static Logger logger = Logger.getLogger(Start.class); public static void main(string[] args) throws Exception, MalformedURLException, SolrServerException { SolrServer solr = new CommonsHttpSolrServer(" Class.forName("com.filemaker.jdbc.Driver").newInstance(); String jdbcstring = "jdbc:filemaker://" + SERVER + ":" + PORT + "/" + DATABASE + "?user=" + USERNAME + "&password=" + PASSWORD; System.out.println(jdbcString); Connection connection = DriverManager.getConnection(jdbcString); String sql = "select MessageID, TheDate, Priority, Body, Subject, From, To from Messages "; ResultSet resultset = connection.preparestatement(sql).executequery(); while (resultset.next()) { SolrInputDocument solrdoc = new SolrInputDocument(); solrdoc.addfield("id", resultset.getstring("messageid")); solrdoc.addfield("features", resultset.getstring("body")); solrdoc.addfield("popularity", resultset.getstring("priority")); solrdoc.addfield("last_modified", resultset.getdate("thedate")); solrdoc.addfield("subject", resultset.getstring("subject")); solrdoc.addfield("author", resultset.getstring(" from")); solrdoc.addfield("comments", resultset.getstring(" to")); solr.add(solrdoc); System.out.println("*"); solr.commit(); System.out.println("Done");

57 FileMaker & Java - Solr

58 FileMaker & Java - Solr Performance Facetten More like this Rechtschreibprüfung Synonyme Stopwörter Stemming laufen, lief, gelaufen

59 FileMaker & CalDAV

60 FileMaker & Scriptmaster

61 FileMaker & Vaadin

62 FileMaker Konferenz2010 Vielen Dank unseren Sponsoren Danke für das Bewerten dieses Vortrages

seit Java 1.1 Bestandteil der API: packages java.sql, javax.sql

seit Java 1.1 Bestandteil der API: packages java.sql, javax.sql JDBC inoffizielle Abkürzung für: Java Database Connectivity seit Java 1.1 Bestandteil der API: packages java.sql, javax.sql ist eine Menge von Klassen und Methoden, um aus Java-Programmen relationale Datenbanken

Mehr

JDBC. Es kann z.b. eine ODBC-Treiberverbindung eingerichtet werden, damit das JAVA-Programm auf eine ACCESS-DB zugreifen kann.

JDBC. Es kann z.b. eine ODBC-Treiberverbindung eingerichtet werden, damit das JAVA-Programm auf eine ACCESS-DB zugreifen kann. JDBC in 5 Schritten JDBC (Java Database Connectivity) ist eine Sammlung von Klassen und Schnittstellen, mit deren Hilfe man Verbindungen zwischen Javaprogrammen und Datenbanken herstellen kann. 1 Einrichten

Mehr

JDBC. Allgemeines ODBC. java.sql. Beispiele

JDBC. Allgemeines ODBC. java.sql. Beispiele JDBC Java Data Base Connectivity Programmierschnittstelle für relationale Datenbanken Sammlung von Klassen, welche zum Aufbau einer Verbindung zwischen einem Java-Programm und einer Datenbank dienen Verwendet

Mehr

Java Database Connectivity (JDBC) 14.07.2009 Walther Rathenau Gewerbeschule 1

Java Database Connectivity (JDBC) 14.07.2009 Walther Rathenau Gewerbeschule 1 Java Database Connectivity (JDBC) 14.07.2009 Walther Rathenau Gewerbeschule 1 Was ist JDBC? Hauptsächlich eine Sammlung von Java Klassen und Schnittstellen für eine einfache Verbindung von Java Programmen

Mehr

Oracle: Abstrakte Datentypen:

Oracle: Abstrakte Datentypen: Oracle: Abstrakte Datentypen: Oracle bietet zwei mögliche Arten um abstrakte Datentypen zu implementieren: Varying Array Nested Table Varying Array (kunde) kdnr kdname gekaufteart 1 Mustermann 1 4 5 8

Mehr

Java Application 1 Java Application 2. JDBC DriverManager. JDBC-ODBC Br idge. ODBC Driver Manager. Dr iver C. Dr iver D.

Java Application 1 Java Application 2. JDBC DriverManager. JDBC-ODBC Br idge. ODBC Driver Manager. Dr iver C. Dr iver D. 1 Copyright 1996-1997 by Axel T. Schreiner. All Rights Reserved. 7 Datenbankzugriff Prinzip Dieser Abschnitt beschäftigt sich mit dem Paket java.sql, das eine SQL-Schnittstelle für Java verkapselt. Java-Programme

Mehr

Java und Datenbanksysteme Datenbankanbindung mit JDBC

Java und Datenbanksysteme Datenbankanbindung mit JDBC Java und Datenbanksysteme Datenbankanbindung mit JDBC 30.05.2001 Stefan Niederhauser sn@atelier-w.ch 1-Einführung Datenbanksysteme Java und Datenbanken: JDBC Geschichte der JDBC-Versionen Vergleich von

Mehr

Dokumentation für das Web-basierte Abkürzungsverzeichnis (Oracle mod_plsql / Apache)

Dokumentation für das Web-basierte Abkürzungsverzeichnis (Oracle mod_plsql / Apache) Dokumentation für das Web-basierte Abkürzungsverzeichnis (Oracle mod_plsql / Apache) vom 8. August 2005 Seite 1 / 7 1.System-Voraussetzungen Um dieses System zu verwenden, muß Oracles HTTP-Server mit dem

Mehr

SQL für Trolle. mag.e. Dienstag, 10.2.2009. Qt-Seminar

SQL für Trolle. mag.e. Dienstag, 10.2.2009. Qt-Seminar Qt-Seminar Dienstag, 10.2.2009 SQL ist......die Abkürzung für Structured Query Language (früher sequel für Structured English Query Language )...ein ISO und ANSI Standard (aktuell SQL:2008)...eine Befehls-

Mehr

Datenbanksysteme 2 Fachbereich Angewandte Informatik WS 11/12 Dipl.-Inf. Christian Pape. 6. Übung

Datenbanksysteme 2 Fachbereich Angewandte Informatik WS 11/12 Dipl.-Inf. Christian Pape. 6. Übung Datenbanksysteme 2 Fachbereich Angewandte Informatik WS 11/12 Dipl.-Inf. Christian Pape 6. Übung Aufgabe 1: In dieser Übung sollen Sie eine kleine Java-Anwendung schreiben, die auf die Oracle-Datenbank

Mehr

Grundlagen von Datenbanken SS 2010 Kapitel 8: Datenbank-Einbettung in Programmiersprachen Prof. Dr. Stefan Böttcher Universität Paderborn

Grundlagen von Datenbanken SS 2010 Kapitel 8: Datenbank-Einbettung in Programmiersprachen Prof. Dr. Stefan Böttcher Universität Paderborn Grundlagen von Datenbanken SS 2010 Kapitel 8: Datenbank-Einbettung in Programmiersprachen Prof. Dr. Stefan Böttcher Universität Paderborn Grundlagen von Datenbanken - SS 2010 - Prof. Dr. Stefan Böttcher

Mehr

FileMaker Go 13 ohne Connects

FileMaker Go 13 ohne Connects Themen im Vortrag Gründe für diesen Vortrag Zwei Methoden werden vorgestellt Besprechung der verwendeten Techniken: - Netzwerkprotokolle - FileMaker CWP / XML - FileMaker URL Protokoll - XML parsen - E-Mail

Mehr

FileMaker und PHP Workshop

FileMaker und PHP Workshop FileMaker und PHP Workshop 2-stündiger Ausschnitt aus einem 3-tägigen Schulungsprogramm Bernhard Schulz FileMaker Konferenz 2010 / Zürich Ziel des Workshops Kennenlernen von PHP Möglichkeiten von FileMaker

Mehr

Persistenz von Objekten relationale Datenbank Eigene Datenstruktur XML (JAXB) Proprietäre Dateiformate (Lochkarten)

Persistenz von Objekten relationale Datenbank Eigene Datenstruktur XML (JAXB) Proprietäre Dateiformate (Lochkarten) Persistenz von Objekten relationale Datenbank Eigene Datenstruktur XML (JAXB) Proprietäre Dateiformate (Lochkarten) O/R Mapping - Objekte (Attribute) - 1:1, 1:n, n:m Beziehungen - Vererbungen (- Interfaces)

Mehr

JDBC. Java DataBase Connectivity

JDBC. Java DataBase Connectivity JDBC Java DataBase Connectivity JDBC-Schichten JDBC besteht aus 2 Teilen, 1. aus Datenbanktreibern, die den Anschluß von Java-Anwendungen an Datenbanksysteme wie Sybase, DB/2, Oracle, MS ACCESS oder Mini

Mehr

Programmiermethodik. Übung 13

Programmiermethodik. Übung 13 Programmiermethodik Übung 13 Sommersemester 2010 Fachgebiet Software Engineering andreas.scharf@cs.uni-kassel.de Agenda Vorstellung Musterlösung HA9 Mancala Showroom Client/Server Kommunikation in Java

Mehr

Grundlagen der Informatik 2

Grundlagen der Informatik 2 Grundlagen der Informatik 2 Dipl.-Inf., Dipl.-Ing. (FH) Michael Wilhelm Hochschule Harz FB Automatisierung und Informatik mwilhelm@hs-harz.de Raum 2.202 Tel. 03943 / 659 338 1 Gliederung 1. Einführung

Mehr

Interaktive Webseiten mit PHP und MySQL

Interaktive Webseiten mit PHP und MySQL Interaktive Webseiten mit PHP und Vorlesung 4: PHP & Sommersemester 2003 Martin Ellermann Heiko Holtkamp Sommersemester 2001 Hier noch ein wenig zu (My)SQL: SHOW INSERT SELECT ORDER BY GROUP BY LIKE /

Mehr

Java: MySQL-Anbindung mit JDBC.

Java: MySQL-Anbindung mit JDBC. Java: MySQL-Anbindung mit JDBC Vorarbeiten Wir brauchen: - MySQL-Server - JDBC-Treiber - (Import java.sql.*) Vorarbeiten MySQL-Server in unserem Falle: WAMP (= Apache) (runterladen, installieren, starten)

Mehr

Kurzanleitung zu XML2DB

Kurzanleitung zu XML2DB Kurzanleitung zu XML2DB Inhaltsverzeichnis 1. Einleitung...3 2. Entwicklungsumgebung...3 3. Betriebsanleitung...3 3.1 Einrichten der Java Umgebung...3 3.2 Allgemeines zu java und javac...4 3.2.1 Allgemeines

Mehr

Wo finde ich die Software? - Jedem ProLiant Server liegt eine Management CD bei. - Über die Internetseite http://www.hp.

Wo finde ich die Software? - Jedem ProLiant Server liegt eine Management CD bei. - Über die Internetseite http://www.hp. Erfahrungen mit dem Insight Manager von HP Dipl. Ing. Elektrotechnik (FH) - Automatisierungs- / Regelungstechnik DV-Spezialist Landesbank Rheinland-Pfalz Abteilung 2-351 Große Bleiche 54-56 55098 Mainz

Mehr

Oracle & Java HOW TO

Oracle & Java HOW TO Oracle & Java HOW TO Helge Janicke, Niels-Peter de Witt, Karsten Wolke 21. Januar 2002 Inhaltsverzeichnis 1 Java-Anbindung an Oracle-DB 2 2 Benötigte Programme und Daten 2 3 Einbinden der Klassen 2 4 Aufbau

Mehr

Beispiel: DB-Mock (1/7)

Beispiel: DB-Mock (1/7) Beispiel: DB-Mock (1/7) Aufgabe: DB, auf die vereinfachend nur lesend zugeriffen wird mocken warum: benötigte keine DB-Lizenz, garantiert gleiche Werte ohne aufwändiges reset, kein Zeitverlust durch Verbindungsaufbau

Mehr

Verteidigung gegen SQL Injection Attacks

Verteidigung gegen SQL Injection Attacks Verteidigung gegen SQL Injection Attacks Semesterarbeit SS 2003 Daniel Lutz danlutz@watz.ch 1 Inhalt Motivation Demo-Applikation Beispiele von Attacken Massnahmen zur Verteidigung Schlussfolgerungen 2

Mehr

Prozedurale Datenbank- Anwendungsprogrammierung

Prozedurale Datenbank- Anwendungsprogrammierung Idee: Erweiterung von SQL um Komponenten von prozeduralen Sprachen (Sequenz, bedingte Ausführung, Schleife) Bezeichnung: Prozedurale SQL-Erweiterung. In Oracle: PL/SQL, in Microsoft SQL Server: T-SQL.

Mehr

Projektbericht Gruppe 12. Datenbanksysteme WS 05/ 06. Gruppe 12. Martin Tintel Tatjana Triebl. Seite 1 von 11

Projektbericht Gruppe 12. Datenbanksysteme WS 05/ 06. Gruppe 12. Martin Tintel Tatjana Triebl. Seite 1 von 11 Datenbanksysteme WS 05/ 06 Gruppe 12 Martin Tintel Tatjana Triebl Seite 1 von 11 Inhaltsverzeichnis Inhaltsverzeichnis... 2 1. Einleitung... 3 2. Datenbanken... 4 2.1. Oracle... 4 2.2. MySQL... 5 2.3 MS

Mehr

FileMaker Konferenz 2011 Hamburg www.filemaker-konferenz.com. Speed. Performance Optimierung für Ihre Lösung / Entwickler

FileMaker Konferenz 2011 Hamburg www.filemaker-konferenz.com. Speed. Performance Optimierung für Ihre Lösung / Entwickler Speed Performance Optimierung für Ihre Lösung / Entwickler [x] cross solution Armin Egginger - Zertifizierter FileMaker Entwickler Urheber von CrossCheck Netzwerk von Datenbankprogrammierern Kunden in

Mehr

Lehrveranstaltung Grundlagen von Datenbanken

Lehrveranstaltung Grundlagen von Datenbanken Verbindungsanleitung mit der Datenbank Um sich mit der Datenbank für die Übung zu verbinden, gibt es mehrere Möglichkeiten. Zum einen ist die Datenbank aus dem Netz des Informatikums direkt erreichbar.

Mehr

SQLJ. Standardisierte Java-DB. DB-Schnittstelle. Spezifikationen. Oracle, IBM, Informix, Sybase,, Tandem, Sun, Microsoft stehen dahinter

SQLJ. Standardisierte Java-DB. DB-Schnittstelle. Spezifikationen. Oracle, IBM, Informix, Sybase,, Tandem, Sun, Microsoft stehen dahinter SQLJ Standardisierte Java-DB DB-Schnittstelle Spezifikationen Part 0: Embedded SQL für Java (ANSI-Standard; Object Language Binding) Statische Einbettung von SQL-Anweisungen in Java-Quelltext Part 1: Java

Mehr

Dynamisches SQL. Folien zum Datenbankpraktikum Wintersemester 2009/10 LMU München

Dynamisches SQL. Folien zum Datenbankpraktikum Wintersemester 2009/10 LMU München Kapitel 4 Dynamisches SQL Folien zum Datenbankpraktikum Wintersemester 2009/10 LMU München 2008 Thomas Bernecker, Tobias Emrich unter Verwendung der Folien des Datenbankpraktikums aus dem Wintersemester

Mehr

Datenbank und Informationssysteme

Datenbank und Informationssysteme Datenbank und Informationssysteme Inhaltsverzeichnis 1 Programmierung von Datenbankzugriffen 3 1.1 Architektur des SQL/CLI am Beispiel JDBC................... 4 1.2 Anfragen und Ergebnismengen in JDBC......................

Mehr

Datenbanken & Informationssysteme Übungen Teil 1

Datenbanken & Informationssysteme Übungen Teil 1 Programmierung von Datenbankzugriffen 1. Daten lesen mit JDBC Schreiben Sie eine Java-Anwendung, die die Tabelle Books in der Datenbank azamon ausgibt. Verwenden Sie dabei die SQL-Anweisung select * from

Mehr

Migration Howto. Inhaltsverzeichnis

Migration Howto. Inhaltsverzeichnis Migration Howto Migration Howto I Inhaltsverzeichnis Migration von Cobalt RaQ2 /RaQ3 Servern auf 42goISP Server...1 Voraussetzungen...1 Vorgehensweise...1 Allgemein...1 RaQ...1 42go ISP Manager Server...2

Mehr

Java: Vererbung. Teil 3: super() www.informatikzentrale.de

Java: Vererbung. Teil 3: super() www.informatikzentrale.de Java: Vererbung Teil 3: super() Konstruktor und Vererbung Kindklasse ruft SELBSTSTÄNDIG und IMMER zuerst den Konstruktor der Elternklasse auf! Konstruktor und Vererbung Kindklasse ruft SELBSTSTÄNDIG und

Mehr

Kommunikationsübersicht XIMA FORMCYCLE Inhaltsverzeichnis

Kommunikationsübersicht XIMA FORMCYCLE Inhaltsverzeichnis Kommunikationsübersicht Inhaltsverzeichnis Kommunikation bei Einsatz eines MasterServer... 2 Installation im... 2 Installation in der... 3 Kommunikation bei Einsatz eines MasterServer und FrontendServer...

Mehr

MySQL Queries on "Nmap Results"

MySQL Queries on Nmap Results MySQL Queries on "Nmap Results" SQL Abfragen auf Nmap Ergebnisse Ivan Bütler 31. August 2009 Wer den Portscanner "NMAP" häufig benutzt weiss, dass die Auswertung von grossen Scans mit vielen C- oder sogar

Mehr

Architekturen. Von der DB basierten zur Multi-Tier Anwendung. DB/CRM (C) J.M.Joller 2002 131

Architekturen. Von der DB basierten zur Multi-Tier Anwendung. DB/CRM (C) J.M.Joller 2002 131 Architekturen Von der DB basierten zur Multi-Tier Anwendung DB/CRM (C) J.M.Joller 2002 131 Lernziele Sie kennen Design und Architektur Patterns, welche beim Datenbankzugriff in verteilten Systemen verwendet

Mehr

Von ODBC zu OLE DB. Neue Möglichkeiten der Datenintegration. Harald Gladytz, Team Vertrieb ESRI Niederlassung Leipzig

Von ODBC zu OLE DB. Neue Möglichkeiten der Datenintegration. Harald Gladytz, Team Vertrieb ESRI Niederlassung Leipzig Von ODBC zu OLE DB Neue Möglichkeiten der Datenintegration Harald Gladytz, Team Vertrieb ESRI Niederlassung Leipzig Von ODBC zu OLE DB Begriffsbestimmung ODBC, OLE DB, COM, ADO... Unterschiede zwischen

Mehr

Das erste Programm soll einen Text zum Bildschirm schicken. Es kann mit jedem beliebigen Texteditor erstellt werden.

Das erste Programm soll einen Text zum Bildschirm schicken. Es kann mit jedem beliebigen Texteditor erstellt werden. Einfache Ein- und Ausgabe mit Java 1. Hallo-Welt! Das erste Programm soll einen Text zum Bildschirm schicken. Es kann mit jedem beliebigen Texteditor erstellt werden. /** Die Klasse hello sendet einen

Mehr

Build in Function BIF Compatibility. Udo Puschkarsky DB2-Guide 18.05.2015

Build in Function BIF Compatibility. Udo Puschkarsky DB2-Guide 18.05.2015 Build in Function BIF Compatibility Udo Puschkarsky DB2-Guide 18.05.2015 Ausgangssituation Mit DB2 V10 Compatibility Mode Änderungen bei der STRING Formatierung von Decimal Data bei der CHAR und VARCHAR

Mehr

Folgendes PL/SQL Codefragment zeigt das grundlegende Statement für diesen Test: Java. http://www.trivadis.com/images/javaperf_tcm16-7133.

Folgendes PL/SQL Codefragment zeigt das grundlegende Statement für diesen Test: Java. http://www.trivadis.com/images/javaperf_tcm16-7133. Page 1 of 7 Betrifft: Java oder PL/SQL? Art der Info: Technische Background Info Autor: Guido Schmutz (guido.schmutz@trivadis.com) Quelle: Aus unserer Schulungs- und Beratungstätigkeit Mit Oracle8.1 besteht

Mehr

php Hier soll ein Überblick über das Erstellen von php Programmen gegeben werden. Inhaltsverzeichnis 1.Überblick...2 2.Parameterübergabe...

php Hier soll ein Überblick über das Erstellen von php Programmen gegeben werden. Inhaltsverzeichnis 1.Überblick...2 2.Parameterübergabe... php Hier soll ein Überblick über das Erstellen von php Programmen gegeben werden. Inhaltsverzeichnis 1.Überblick...2 2.Parameterübergabe...7 3.Zugriff auf mysql Daten...11 Verteilte Systeme: php.sxw Prof.

Mehr

Themen. Web Service - Clients. Kommunikation zw. Web Services

Themen. Web Service - Clients. Kommunikation zw. Web Services Themen Web Service - Clients Kommunikation zw. Web Services Bisher: Implementierung einer Java Anwendung und Bereitstellung durch Apache Axis unter Apache Tomcat Java2WSDL Erzeugen einer WSDL-Datei zur

Mehr

Java Einführung Umsetzung von Beziehungen zwischen Klassen. Kapitel 7

Java Einführung Umsetzung von Beziehungen zwischen Klassen. Kapitel 7 Java Einführung Umsetzung von Beziehungen zwischen Klassen Kapitel 7 Inhalt Wiederholung: Klassendiagramm in UML Java-Umsetzung von Generalisierung Komposition Assoziationen 2 Das Klassendiagramm Zweck

Mehr

Sicherheit in Webanwendungen CrossSite, Session und SQL

Sicherheit in Webanwendungen CrossSite, Session und SQL Sicherheit in Webanwendungen CrossSite, Session und SQL Angriffstechniken und Abwehrmaßnahmen Mario Klump Die Cross-Site -Familie Die Cross-Site-Arten Cross-Site-Scripting (CSS/XSS) Cross-Site-Request-Forgery

Mehr

Kapitel 10. JDBC und SQLJ. Prof. Dr. Wolfgang Weber Vorlesung Datenbanken 1

Kapitel 10. JDBC und SQLJ. Prof. Dr. Wolfgang Weber Vorlesung Datenbanken 1 Kapitel 10 JDBC und SQLJ 1 JDBC und SQLJ Bisher: Einbettung von SQL (statisch bzw. dynamisch) in C, C++, COBOL, ADA (embedded SQL) bzw. prozedurale Erweiterungen für SQL in Oracle (PL/SQL) Was ist mit

Mehr

Built in Function. BIF Compatibility. Eine anonymisierte Kundenpräsentation. von Siegfried Fürst SOFTWARE ENGINEERING GmbH

Built in Function. BIF Compatibility. Eine anonymisierte Kundenpräsentation. von Siegfried Fürst SOFTWARE ENGINEERING GmbH GIVE and TAKE Programme Inspiring experiences Built in Function BIF Compatibility Eine anonymisierte Kundenpräsentation von Siegfried Fürst SOFTWARE ENGINEERING GmbH 2015 SOFTWARE ENGINEERING GMBH and

Mehr

3. Stored Procedures und PL/SQL

3. Stored Procedures und PL/SQL 3. Stored Procedures und PL/SQL Wenn eine Anwendung auf einer Client-Maschine läuft, wird normalerweise jede SQL-Anweisung einzeln vom Client an den Server gesandt, und jedes Ergebnistupel wird einzeln

Mehr

Distributed Computing Group

Distributed Computing Group JAVA TUTORIAL Distributed Computing Group Vernetzte Systeme - SS 06 Übersicht Warum Java? Interoperabilität grosse und gut dokumentierte Library weit verbreitet Syntax sehr nahe an C Erfahrung: Java wird

Mehr

Hochschule Karlsruhe Technik und Wirtschaft

Hochschule Karlsruhe Technik und Wirtschaft Hochschule Karlsruhe Technik und Wirtschaft Sommersemester 2009 Seite 1/12 Fakultät: Fakultät für Informatik und Wirtschaftsinformatik Semester: BC3 D4 Prüfungsfach: Datenbanken I Fachnummer: I 3B71 I

Mehr

Universität Stuttgart Abteilung Anwendersoftware 01.07.2002. - Steht für Embedded SQL in Java. - Java-Methoden als SQL Stored-Procedures

Universität Stuttgart Abteilung Anwendersoftware 01.07.2002. - Steht für Embedded SQL in Java. - Java-Methoden als SQL Stored-Procedures SQLJ Basics Universität Stuttgart Abteilung Anwendersoftware 01.07.2002 Was ist SQLJ? SQLJ Part 0: - Steht für Embedded SQL in Java SQLJ Part 1: - Java-Methoden als SQL Stored-Procedures SQLJ Part 2: -

Mehr

Labor 3 - Datenbank mit MySQL

Labor 3 - Datenbank mit MySQL Labor 3 - Datenbank mit MySQL Hinweis: Dieses Labor entstand z.t. aus Scripten von Prof. Dr. U. Bannier. 1. Starten des MySQL-Systems MySQL ist ein unter www.mysql.com kostenlos erhältliches Datenbankmanagementsystem.

Mehr

Kapitel DB:VI (Fortsetzung)

Kapitel DB:VI (Fortsetzung) Kapitel DB:VI (Fortsetzung) VI. Die relationale Datenbanksprache SQL Einführung SQL als Datenanfragesprache SQL als Datendefinitionssprache SQL als Datenmanipulationssprache Sichten SQL vom Programm aus

Mehr

Apache HBase. A BigTable Column Store on top of Hadoop

Apache HBase. A BigTable Column Store on top of Hadoop Apache HBase A BigTable Column Store on top of Hadoop Ich bin... Mitch Köhler Selbstständig seit 2010 Tätig als Softwareentwickler Softwarearchitekt Student an der OVGU seit Oktober 2011 Schwerpunkte Client/Server,

Mehr

SQL, MySQL und FileMaker

SQL, MySQL und FileMaker SQL, MySQL und FileMaker Eine kurze Einführung in SQL Vorstellung von MySQL & phpmyadmin Datenimport von MySQL in FileMaker Autor: Hans Peter Schläpfer Was ist SQL? «Structured Query Language» Sprache

Mehr

PostgreSQL unter Debian Linux

PostgreSQL unter Debian Linux Einführung für PostgreSQL 7.4 unter Debian Linux (Stand 30.04.2008) von Moczon T. und Schönfeld A. Inhalt 1. Installation... 2 2. Anmelden als Benutzer postgres... 2 2.1 Anlegen eines neuen Benutzers...

Mehr

Datenbanken SQL Einführung Datenbank in MySQL einrichten mit PhpMyAdmin

Datenbanken SQL Einführung Datenbank in MySQL einrichten mit PhpMyAdmin Datenbanken SQL Einführung Datenbank in MySQL einrichten mit PhpMyAdmin PhpMyAdmin = grafsches Tool zur Verwaltung von MySQL-Datenbanken Datenbanken erzeugen und löschen Tabellen und Spalten einfügen,

Mehr

Prozessbeschreibung. Qualitätsberichte erstellen und vorbefüllen

Prozessbeschreibung. Qualitätsberichte erstellen und vorbefüllen Prozessbeschreibung Name des Prozesses Verantwortlich Ziele des Prozesses Prozessbeschreibung Qualitätsberichte erstellen und vorbefüllen Prorektor für Lehre Automatische Generierung der Formulare für

Mehr

à la Carte KMU - Lösungen im Alltag für Filemaker und das Web

à la Carte KMU - Lösungen im Alltag für Filemaker und das Web à la Carte KMU - Lösungen im Alltag für Filemaker und das Web Filemaker + Web Zielgruppe: - Kunde: - KMU s - Filemaker-erfahrene Anwender - Ansprüche: Umsetzung individuell, sofort, einfach - IT: - FM,

Mehr

Einführung in Javadoc

Einführung in Javadoc Einführung in Javadoc Johannes Rinn http://java.sun.com/j2se/javadoc Was ist Javadoc? Javadoc ist ein Werkzeug, dass eine standardisierte Dokumentation für die Programmiersprache Java unterstützt. Vorteil:

Mehr

Verbinden von IBM Informix mit Openoffice mittels JDBC

Verbinden von IBM Informix mit Openoffice mittels JDBC Verbinden von IBM Informix mit Openoffice mittels JDBC Voraussetzungen Installierte und laufende IBM Informixdatenbank. Getestet wurde mit IDS 9.40 und 10.00. Sollte aber auch mit älteren Versionen funktionieren.

Mehr

Betreutes Programmieren Vorlesung Informatik II, Blatt 7 Musterlösung

Betreutes Programmieren Vorlesung Informatik II, Blatt 7 Musterlösung SS 2011 Fakultät für Angewandte Informatik Lehrprofessur für Informatik 15.06.2011 Prof. Dr. Robert Lorenz Betreutes Programmieren Vorlesung Informatik II, Blatt 7 Musterlösung Programmieraufwand für geübte

Mehr

Programmieren in Java

Programmieren in Java Programmieren in Java Dateien lesen und schreiben 2 Übersicht der heutigen Inhalte File Streams try-with-resources Properties csv-dateien 3 Klasse File Die Klasse java.io.file bietet Unterstützung im Umgang

Mehr

Betriebshandbuch. MyInTouch Import Tool

Betriebshandbuch. MyInTouch Import Tool Betriebshandbuch MyInTouch Import Tool Version 2.0.5, 17.08.2004 2 MyInTouch Installationshandbuch Inhaltsverzeichnis Inhaltsverzeichnis... 2 Bevor Sie beginnen... 3 Einleitung...3 Benötigte Daten...3

Mehr

Anleitung. Ein einfaches RMI-Beispiel. (ab Java 5.0) c Y. Pfeifer. (Juni 2014)

Anleitung. Ein einfaches RMI-Beispiel. (ab Java 5.0) c Y. Pfeifer. (Juni 2014) Anleitung Ein einfaches RMI-Beispiel (ab Java.0) c Y. Pfeifer (Juni 014) 1 Ein einfaches RMI-Beispiel Vorgehensweise: 1. Java Projekt anlegen. Zwei Packages server & client erstellen Auf der Server-Seite

Mehr

Die Programmiersprache Java. Dr. Wolfgang Süß Thorsten Schlachter

Die Programmiersprache Java. Dr. Wolfgang Süß Thorsten Schlachter Die Programmiersprache Java Dr. Wolfgang Süß Thorsten Schlachter Eigenschaften von Java Java ist eine von der Firma Sun Microsystems entwickelte objektorientierte Programmiersprache. Java ist......a simple,

Mehr

Vorkurs Informatik WiSe 15/16

Vorkurs Informatik WiSe 15/16 Java 1 Dr. Werner Struckmann / Stephan Mielke, Jakob Garbe, 12.10.2015 Technische Universität Braunschweig, IPS Überblick Organisatorisches Arbeitsablauf Hello! 12.10.2015 Dr. Werner Struckmann / Stephan

Mehr

6.9 Java Server Pages

6.9 Java Server Pages DocumentCollection dc = db.ftsearch(abfrage); Document d = dc.getfirstdocument(); while (d!= 0) { String Name = db.gettitle(); out.println(name + ""); d = dc.getnextdocument(); catch (NotesException

Mehr

Klausur zur Einführung in die objektorientierte Programmierung mit Java

Klausur zur Einführung in die objektorientierte Programmierung mit Java Klausur zur Einführung in die objektorientierte Programmierung mit Java im Studiengang Informationswissenschaft Prof. Dr. Christian Wolff Professur für Medieninformatik Institut für Medien-, Informations-

Mehr

ABACONNECT VERWENDUNG VON APACHE TCPMON UTILITY MIT ABACONNECT WEBSERVICES

ABACONNECT VERWENDUNG VON APACHE TCPMON UTILITY MIT ABACONNECT WEBSERVICES A B A C U S ABACONNECT VERWENDUNG VON APACHE TCPMON UTILITY MIT ABACONNECT WEBSERVICES Version 2014 Mai 2014/KS Diese Unterlagen sind urheberrechtlich geschützt. Alle Rechte, auch die der Übersetzung,

Mehr

Grundlagen Datenbanken Sommersemester 2008

Grundlagen Datenbanken Sommersemester 2008 Rechnerübung SQL Installation SQL Server: SQLite ist eine SQL Datenbank, die keine Installation erfordert und direkt über die Kommandozeile angesprochen werden kann. Geht auf http://www.sqlite.org/download.html

Mehr

ORM & OLAP. Object-oriented Enterprise Application Programming Model for In-Memory Databases. Sebastian Oergel

ORM & OLAP. Object-oriented Enterprise Application Programming Model for In-Memory Databases. Sebastian Oergel ORM & OLAP Object-oriented Enterprise Application Programming Model for In-Memory Databases Sebastian Oergel Probleme 2 Datenbanken sind elementar für Business-Anwendungen Gängiges Datenbankparadigma:

Mehr

mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank

mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank In den ersten beiden Abschnitten (rbanken1.pdf und rbanken2.pdf) haben wir uns mit am Ende mysql beschäftigt und kennengelernt, wie man

Mehr

Remote Method Invocation

Remote Method Invocation Remote Method Invocation Aufruf von Methoden über die Grenzen der VM hinweg. Javaprozesse der rufenden und gerufenen Methode können auf verschiedenen Hosts laufen. Eine RMI-Applikation besteht aus dem

Mehr

Planung für Organisation und Technik

Planung für Organisation und Technik Salztorgasse 6, A - 1010 Wien, Austria q Planung für Organisation und Technik MOA-VV Installation Bearbeiter: Version: Dokument: Scheuchl Andreas 19.11.10 MOA-VV Installation.doc MOA-VV Inhaltsverzeichnis

Mehr

C# - Einführung in die Programmiersprache Arbeiten mit ADO.NET. Leibniz Universität IT Services Anja Aue

C# - Einführung in die Programmiersprache Arbeiten mit ADO.NET. Leibniz Universität IT Services Anja Aue C# - Einführung in die Programmiersprache Arbeiten mit ADO.NET Leibniz Universität IT Services Anja Aue Experteneinstellungen in Visual Studio Express Extras Einstellungen Experteneinstellungen. Es werden

Mehr

Entwicklungsumgebung für die Laborübung

Entwicklungsumgebung für die Laborübung Entwicklungsumgebung für die Laborübung VU Datenbanksysteme Wolfgang Fischl Arbeitsbereich Datenbanken und Artificial Intelligence Institut für Informationssysteme Technische Universität Wien Wintersemester

Mehr

IV. Datenbankmanagement

IV. Datenbankmanagement Wirtschaftsinformatik 2 (PWIN) IV. Datenbankmanagement Kapitel 2: Datenmanipulationssprache SQL Wirtschaftsinformatik 2 (PWIN) SS 2009, Professur für Mobile Business & Multilateral Security 1 Agenda 1.

Mehr

Kapitel DB:VI (Fortsetzung)

Kapitel DB:VI (Fortsetzung) Kapitel DB:VI (Fortsetzung) VI. Die relationale Datenbanksprache SQL Einführung SQL als Datenanfragesprache SQL als Datendefinitionssprache SQL als Datenmanipulationssprache Sichten SQL vom Programm aus

Mehr

TCP/IP Programmierung. C# TimeServer Java6 TimeClient

TCP/IP Programmierung. C# TimeServer Java6 TimeClient TCP/IP Programmierung C# TimeServer Java6 TimeClient Stand 19.10.11 21:24:32 Seite 1 von 16 Inhaltsverzeichnis Erläuterung...3 Software...3 C#TimeServer...4 Klasse ServerThread...6 Starten und Beenden...7

Mehr

Web Services stellen eine Integrationsarchitektur dar, die die Kommunikation zwischen verschiedenen Anwendungen

Web Services stellen eine Integrationsarchitektur dar, die die Kommunikation zwischen verschiedenen Anwendungen 9 3 Web Services 3.1 Überblick Web Services stellen eine Integrationsarchitektur dar, die die Kommunikation zwischen verschiedenen Anwendungen mit Hilfe von XML über das Internet ermöglicht (siehe Abb.

Mehr

UNIVERSITÄT ULM Fakultät für Ingenieurswissenschaften und Informatik Institut für Datenbanken und Informationssysteme

UNIVERSITÄT ULM Fakultät für Ingenieurswissenschaften und Informatik Institut für Datenbanken und Informationssysteme UNIVERSITÄT ULM Fakultät für Ingenieurswissenschaften und Informatik Institut für Datenbanken und Informationssysteme 8. Übung zur Vorlesung Datenbanksysteme WS 08/09 Musterlösung Aufgabe 8-1: SQLJ //

Mehr

Gesicherte Prozeduren

Gesicherte Prozeduren Gesicherte Prozeduren Wenn eine Anwendung auf einer Client-Maschine läuft, wird normalerweise jede SQL-Anweisung einzeln vom Client an den Server gesandt, und jedes Ergebnistupel wird einzeln zurückgeliefert.

Mehr

7. Datenbank-Zugriff. Vorlesung und Übung Dr. Peter Pfahler Institut für Informatik Universität Paderborn. Zum Beispiel aus PHP-Skripten: Client 7-2

7. Datenbank-Zugriff. Vorlesung und Übung Dr. Peter Pfahler Institut für Informatik Universität Paderborn. Zum Beispiel aus PHP-Skripten: Client 7-2 5 Vorlesung und Übung Dr. Peter Pfahler Institut für Informatik Universität Paderborn 7 7. Datenbank-Zugriff Zum Beispiel aus PHP-Skripten: Client 7-2 Struktur einer Datenbank 7-3 Erzeugen von Datenbanken

Mehr

Informatik 12 Datenbanken SQL-Einführung

Informatik 12 Datenbanken SQL-Einführung Informatik 12 Datenbanken SQL-Einführung Gierhardt Vorbemerkungen Bisher haben wir Datenbanken nur über einzelne Tabellen kennen gelernt. Stehen mehrere Tabellen in gewissen Beziehungen zur Beschreibung

Mehr

Jakarta Lucene. Eine Java-Bibliothek zur Suchindex-Erstellung. Seminararbeit Tilman Schneider

Jakarta Lucene. Eine Java-Bibliothek zur Suchindex-Erstellung. Seminararbeit Tilman Schneider Jakarta Lucene Eine Java-Bibliothek zur Suchindex-Erstellung Seminararbeit Tilman Schneider 2004 Tilman Schneider Seminararbeit: Jakarta Lucene Folie 1 Agenda Definition: Suchmaschine Vorstellung von Jakarta

Mehr

JOB SCHEDULER. Managed User Jobs. Dokumentation Juli 2005. MySQL-Job-Automation

JOB SCHEDULER. Managed User Jobs. Dokumentation Juli 2005. MySQL-Job-Automation MySQL-Job-Automation Managed User Jobs JOB SCHEDULER Dokumentation Juli 2005 Software- und Organisations-Service GmbH Giesebrechtstr. 15 D-10629 Berlin Telefon (030) 86 47 90-0 Telefax (030) 861 33 35

Mehr

Große Übung Praktische Informatik 1

Große Übung Praktische Informatik 1 Große Übung Praktische Informatik 1 2005-12-08 fuessler@informatik.uni-mannheim.de http://www.informatik.uni-mannheim.de/pi4/people/fuessler 1: Announcements / Orga Weihnachtsklausur zählt als Übungsblatt,

Mehr

MySQL 101 Wie man einen MySQL-Server am besten absichert

MySQL 101 Wie man einen MySQL-Server am besten absichert MySQL 101 Wie man einen MySQL-Server am besten absichert Simon Bailey simon.bailey@uibk.ac.at Version 1.1 23. Februar 2003 Change History 21. Jänner 2003: Version 1.0 23. Februar 2002: Version 1.1 Diverse

Mehr

Zugriff auf Daten der Wago 750-841 über eine Webseite

Zugriff auf Daten der Wago 750-841 über eine Webseite Zugriff auf Daten der Wago 750-841 über eine Webseite Inhaltsverzeichnis Einleitung... 3 Auslesen von Variablen... 4 Programm auf der SPS... 4 XML-Datei auf der SPS... 4 PHP-Script zum Auslesen der XML-Datei...

Mehr

Zugriff auf Firebird-Datenbanken mit PHP. Daniel de West DB-Campus-Treffen 15. Januar 2004

Zugriff auf Firebird-Datenbanken mit PHP. Daniel de West DB-Campus-Treffen 15. Januar 2004 Zugriff auf Firebird-Datenbanken mit PHP Daniel de West DB-Campus-Treffen 15. Januar 2004 Inhalt PHP und Firebird Die wichtigsten Befehle Verbindungsaufbau Übermitteln von Abfragen Beenden von Verbindungen

Mehr

ERP-Erweiterungen mit FileMaker

ERP-Erweiterungen mit FileMaker ERP-Erweiterungen mit FileMaker Schnelle, kostengünstige Unterstützung von Unternehmensprozessen Herzlich Wilkommen Marcin Pankowski Prozesse im Unternehmen Talbrückenstrasse 42 33611 Bielefeld Inhalt

Mehr

Database Exchange Manager. Infinqa IT Solutions GmbH, Berlin Stralauer Allee 2 10245 Berlin Tel.:+49(0) 30 2900 8639 Fax.:+49(0) 30 2900 8695

Database Exchange Manager. Infinqa IT Solutions GmbH, Berlin Stralauer Allee 2 10245 Berlin Tel.:+49(0) 30 2900 8639 Fax.:+49(0) 30 2900 8695 Database Exchange Manager Replication Service- schematische Darstellung Replication Service- allgemeines Replikation von Daten von bzw. in ein SAP-System und einer relationalen DMS-Datenbank Kombination

Mehr

Einführung in Java. PING e.v. Weiterbildung Andreas Rossbacher 24. März 2005

Einführung in Java. PING e.v. Weiterbildung Andreas Rossbacher 24. März 2005 Einführung in Java PING e.v. Weiterbildung Andreas Rossbacher 24. März 2005 Gliederung 1. Was ist Java / Geschichte von Java 2. Prinzip der Plattformunabhängigkeit 3. Wie kommt man vom Quellcode zum Programm

Mehr

MySQL, phpmyadmin & SQL. Kurzübersicht

MySQL, phpmyadmin & SQL. Kurzübersicht MySQL, phpmyadmin & SQL Kurzübersicht Referenzen MySQL Documentation: http://dev.mysql.com/doc PHP 5 / MySQL5. Studienausgabe. Praxisbuch und Referenz (Kannengießer & Kannengießer) 2 Datenbank anlegen

Mehr

SAP DB und OpenOffice.org

SAP DB und OpenOffice.org Einbinden von SAP-DB in OpenOffice.org mit Hilfe von JDBC Inhaltsverzeichnis Download der SAPDB... 2 Installation der SAPDB... 2 Installation des Webinterface... 3 Starten von WEBsql... 4 Bereitstellen

Mehr

Log xmllog textlog Log() start(filename) add(message) end() instance() Abbildung 7-10: Die Protokollierungs-API mit einer einfachen Fassade

Log xmllog textlog Log() start(filename) add(message) end() instance() Abbildung 7-10: Die Protokollierungs-API mit einer einfachen Fassade HACK #76 Hack APIs mit dem Façade-Muster vereinfachen Durch die Verwendung des Façade-Entwurfsmusters können Sie die anderen Programmierern zugängliche API vereinfachen. #76 Dies ist ein Muster, von dem

Mehr