Gottfried Wolmeringer. Java 6 lernen mit Eclipse

Größe: px
Ab Seite anzeigen:

Download "Gottfried Wolmeringer. Java 6 lernen mit Eclipse"

Transkript

1 Gottfried Wolmeringer Java 6 lernen mit Eclipse

2 Auf einen Blick TEIL I Grundlagen 1 Grundwissen für Programmierer Werkzeugkunde für Programmierer Unsere Werkbank, die IDE TEIL II Installation 4 Die Installation von Java Die Installation von Eclipse Mit Eclipse arbeiten TEIL III OOP Objektorientierte Programmierung 7 Die Installation von objectif Konzepte der OOP Java Baukasten für Objekte OOP in der Praxis Vererbung und ähnliche Dinge TEIL IV Java-Techniken 12 Java-Oberflächen Ausnahmen und Threads Codekonventionen TEIL V Datenbanken 15 Datenbanken in Eclipse Datenbanken und Java Der etwas andere Ausblick

3 Inhalt Danksagung Vorwort Hinweise zur Benutzung des Buches Learning by Doing TEIL I Grundlagen 1 Grundwissen für Programmierer Warum programmieren? Was ist eine Programmiersprache? Java und andere Programmiersprachen Die Java-Story Kann auch ich lernen, mittels Java zu programmieren? Zusammenfassung Aufgaben zum Kapitel Webseiten zum Kapitel Werkzeugkunde für Programmierer Wie funktioniert eine Programmiersprache? Compiler Interpreter VM-Sprachen Imperative und funktionale Sprachen Wie erlernt man eine Programmiersprache? Zusammenfassung Aufgaben zum Kapitel Webseiten zum Kapitel Unsere Werkbank, die IDE Was ist eine IDE? Konzepte einer IDE Die Konzepte von Eclipse Eclipse ein Framework als IDE Weitere Eclipse-Sprachen Perl

4 Inhalt Python C C So funktioniert eine IDE und so Eclipse Zusammenfassung Aufgaben zum Kapitel Webseiten zum Kapitel TEIL II Installation 4 Die Installation von Java JDK oder JRE? Hardwarevoraussetzungen Die Installation Die Installation der Dokumentation Aufbau der JDK-Dokumentation Test und Einsatz der JDK-Dokumentation Der Einsatz von Java Web Start Demos und Beispiele Programmierung ohne Eclipse Deinstallation Zusammenfassung Aufgaben zum Kapitel Webseiten zum Kapitel Die Installation von Eclipse Versionen und Milestones Hardwarevoraussetzungen Die Installation Installation von Filzip Eclipse entpacken Eclipse zum ersten Mal starten Das Sprach-Paket installieren Den Spickzettel-Lehrgang»Die Sprache Java«installieren Callisto oder die Installation von Plugins Den Visual Editor installieren Jigloo installieren Ein Datenbank-Plugin installieren

5 Inhalt 5.7 Übersicht der Plugins Plugins updaten/deinstallieren Zusammenfassung Aufgaben zum Kapitel Webseiten zum Kapitel Mit Eclipse arbeiten Grundkenntnisse Eclipse Die Bestandteile Bausteine in allen Formen Welt aus Perspektiven Auf der Suche nach dem verlorenen Editor Nutzerfreundlichkeit pur Die Geburt eines Projekts Ein neues Projekt anlegen Arbeitssets Projekte löschen Hilfestellung Der Aufbau von Eclipse Die Perspektiven Die Menüleiste (Menubar) Datei Bearbeiten Quelle Refactoring Navigieren Suchen Projekt Ausführen Restliche Menüs Die Views Die Navigator-View Die Editoren Projekte übernehmen JDK-Projekte und einzelne Dateien übernehmen Ganze Projekte von fremden IDEs übernehmen Andere Eclipse-Projekte übernehmen Änderungen an der Paketstruktur bestehender Projekte

6 Inhalt 6.8 Zusammenfassung Aufgaben zum Kapitel Webseiten zum Kapitel TEIL III OOP Objektorientierte Programmierung 7 Die Installation von objectif Die Personal Edition Die Installation Adobe Acrobat Reader installieren Erste Erfahrungen mit ObjectiF und der Online- Dokumentation Zusammenfassung Aufgaben zum Kapitel Webseiten zum Kapitel Konzepte der OOP Eine uralte Idee für moderne Software Ein neues, altes Paradigma Das Objekt und seine Klasse Ein Baum voller Autos Ein Eclipse-Projekt Ein Projekt und seine Pakete UML-Zeichnen statt Programmieren ObjectiF mit neuem System starten Attribute für unsere Autos Auch Autos erben Aus konkret wird abstrakt Identität der Software in Objekten Klassifizierung Vererbung Polymorphismus Zum Beispiel Zusammenfassung Aufgaben zum Kapitel Webseiten zum Kapitel

7 Inhalt 9 Java Baukasten für Objekte Java und OOP Vom Umgang mit Objekten Die API-Dokumentation als Quelle allen Seins Von abstrakten und konkreten Klassen bis zu den Schnittstellen Zum Innenleben der Objekte Primitive Datentypen Komplexe Datentypen Ein paar Worte zu Arrays, Listen und Stacks Übungen zu den primitiven Datentypen Die Sichtbarkeit in der Praxis Die main-methode Die Steuerung des Programmflusses Zusammenfassung Aufgaben zum Kapitel Webseiten zum Kapitel OOP in der Praxis Unser Projekt Carlipso Projektdesign ad hoc Die Geschäftsobjekte Innere Klassen Zusammenfassung Aufgaben zum Kapitel Webseiten zum Kapitel Vererbung und ähnliche Dinge Von Vererbung und Polymorphie Java-Klassen im Besonderen Die Syntax bei Java-Klassen Vom Umgang mit Objekten Das Zusammenspiel von Klassen, Objekten und Methoden ArrayList, auch ein komplexer Typ? Namensraum in Java Im Anfang war das Bild

8 Inhalt 11.5 Zusammenfassung Aufgaben zum Kapitel Webseiten zum Kapitel TEIL IV Java-Techniken 12 Java-Oberflächen Mit AWT lernte Java»fensterln« Der Ast, an dem der Frame hängt Swing Oberflächen zeichnen Viele Werkzeuge ein Ergebnis Visual Editor, der Alleskönner Jigloo, ein Werkzeug für Swing-Oberflächen Zwischen Feld und Label Das Ereignismodell Modifizierungen an Ereignissen Für Meldungen aller Art Frame im Frame und interne Dialoge Faschingskostüme für Oberflächen SWT, das Standard Widget Toolkit Zusammenfassung Aufgaben zum Kapitel Webseiten zum Kapitel Ausnahmen und Threads Wo Ausnahmen zur Regel werden Multithreading mit Java Dämonen, die»dunkle Seite«in Java? Instanz-Initiatoren Zusammenfassung Aufgaben zum Kapitel Webseiten zum Kapitel Codekonventionen Ordnung ist das halbe Leben Weshalb sind Codekonventionen unverzichtbar? Umsetzung der Codekonventionen

9 Inhalt 14.2 Dateiaufbau Dateinamen Der Klassenname Dateiendungen Innerer Dateiaufbau Die Bestandteile einer Datei Der Dateikommentar Klassen und Interfaces Einrücken Die Zeilenlänge Kommentare Quellcodekommentare Javadoc-Kommentare Methodenkommentar Deklarationen Eine Deklaration pro Zeile Position von Deklarationen Klassen- und Interface-Definitionen Anweisungen Einfache Anweisungen Blöcke oder gebündelte Anweisungen Die if- und if-else-anweisungen Die for-schleife Die while-schleife Die do-while-schleife Die switch-anweisung Die try-/catch-anweisung Die return-anweisung Leerräume Leerzeilen Leerzeichen Namenskonventionen Anwendungen Packages Klassenbibliothek Programmierpraktiken Zugriff auf Instanz- und Klassenvariablen Zugriff auf Klassenvariablen und -methoden Zuweisungen Instanziierung Rückgabewerte

10 Inhalt Zusammenfassung Aufgaben zum Kapitel Webseiten zum Kapitel TEIL V Datenbanken 15 Datenbanken in Eclipse Einstieg in das Thema Spielereien mit Access Die Einrichtung von SQL Explorer Allgemeine Betrachtungen zu Datenbanken Zugriffssysteme und Datenbank-Server MySQL MySQL installieren Die ersten Experimente mit einem Datenbank-Server Datenbanken erzeugen Eclipse und MySQL Zusammenfassung Aufgaben zum Kapitel Webseiten zum Kapitel Datenbanken und Java Java und die Datenbankanbindung Vom Treiber zur Verbindung Daten aus der Datenbank lesen Carlipso goes DB Daten in die Datenbank schreiben Die Reflection-API Zusammenfassung Aufgaben zum Kapitel Webseiten zum Kapitel Der etwas andere Ausblick Das Wichtigste zuerst Ausblick zum Einblick Die Zukunft der EDV Java-Techniken EJBs

11 Inhalt 17.5 Datenbanken Eclipse Softwaredesign und Entwurf Vorgehensweisen und Vorgehensmodelle Steuerungsaufgaben während der Softwareentwicklung Andere Programmiersprachen Die Testphase Programmierertests mit JUnit Die Qualitätssicherung Zusammenfassung Webseiten zum Kapitel Anhang A Tipps A.1 Kommentare und andere Hilfen A.2 Mehr Übersicht schaffen A.2.1 Code minimieren A.2.2 Variablen markieren A.2.3 Views entnehmen A.2.4 Editoren automatisch schließen A.3 Einfachere Handhabung A.3.1 Inkrementelle Suche A.3.2 Zeilen verschieben A.3.3 Zeilen einfügen A.3.4 Groß- und Kleinschreibung A.3.5 Aktuelle Änderungen A.3.6 Code oder Dokument öffnen A.3.7 Methoden separiert anzeigen A.3.8 View minimiert ablegen A.3.9 Aktuelle Methode im Navigator oder Paket-Explorer suchen A.3.10 Andere Perspektive öffnen B Literatur und Webseiten Literaturverzeichnis Webseiten C Glossar Index

12 Inhalt Video-Training auf der Buch-DVD 1 Das Java-Projekt in Eclipse 1.1 Der Workspace...[07:07 min.] 1.2 Projekte anlegen...[07:50 min.] 1.3 Arbeitssets...[06:10 min.] 1.4 Dateien anlegen...[08:06 min.] 14

13 Java ist die eine Seite unserer Medaille diese Sprache wollen wir erlernen. Die IDE ist die andere Seite. Unsere IDE heißt Eclipse. Bevor wir Eclipse installieren und damit das Entwicklungssystem auf unserem Rechner vervollständigen, fragen wir: Was ist Eclipse eigentlich? 3 Unsere Werkbank, die IDE 3.1 Was ist eine IDE? Gerade IDE ist eine ziemlich»strapazierte«abkürzung der EDV. Trotzdem fällt der Begriff immer wieder im Zusammenhang mit Eclipse. Aus diesem Grund soll er am Anfang unserer Betrachtung erläutert werden. Nutzt man IDE im Zusammenhang mit Programmiersprachen und Programmentwicklung, bedeutet es»integrated Development Environment«, auf Deutsch»integrierte Entwicklungsumgebung«. Trotz der deutschen Übersetzung sagt uns der Begriff fürs Erste nicht viel.»integriert«und»entwicklungsumgebung«sind ziemlich vage Begriffe. Hinzu kommt noch, dass IDE weitere Bedeutungen hat. Der Hardwarefachmann kennt IDE als»integrated Device Electronics«, aber auch als»intelligent Drive Electronics«. Wobei der erste Ausdruck frei übersetzt»geräteinterne Elektronik«bedeutet und der zweite»intelligente Laufwerkselektronik«. Dementsprechend ist IDE ein Standard für Festplatten, der weit verbreitet, aber veraltet ist. Unsere IDE ist dagegen ein Stück Software, die dazu dient, Programme zu entwickeln. Bereits vor 30 Jahren, als C-Programmierung noch in den Kinderschuhen steckte, merkte man, dass es nicht genügt, den Quellcode mit einem Editor zu erstellen, zu kompilieren und zu testen. Es war auch sinnvoll, eine Übersicht der Befehlssyntax greifbar zu haben. Außerdem konnte man effektiver arbeiten, wenn man Unterlagen zu den Routinen hatte, die man in seinen Programmen (entweder selbst entwickelte oder zugekaufte) nutzen konnte. Praktisch war es auch, wenn man den Compiler starten konnte, ohne den Editor zu verlassen. Man konnte dann während des oft langen Kompiliervorganges weiterentwickeln. Was die Unterlagen anging, half man sich anfangs mit Büchern weiter, später mit anspruchsvollen Editoren wie dem Emacs. Man nutzte Zusatzprogramme, die im Hintergrund zur Verfügung standen und zu denen man bei Bedarf wechseln konnte. Schließlich kam man auf die Idee, all diese Zusatzfunktionen für Programmierer in einem Programm zusammenzufassen. Die IDE, die 53

14 3 Unsere Werkbank, die IDE Integrated Development Environment, war damit geboren. Parallel dazu wurde der Begriff des CASE entwickelt. CASE steht für Computer Aided Software (oft auch System) Engineering, zu Deutsch: computerunterstützte Softwareentwicklung Konzepte einer IDE Zentrales Element einer IDE ist selbstverständlich der Editor. Mit ihm wird die neue Software geschrieben, folglich kommt ihm die größte Bedeutung bei diesem Werkzeug zu. Neben diesem Teil der Codeerstellung besitzen heutige Programme grafische Elemente, die mit den grafischen Oberflächenelementen des verwendeten Betriebssystems konform sind und interagieren. Um diese Bestandteile zu erstellen, setzt man einen sogenannten GUI-Builder ein. Früher gab es ihn als selbstständiges Programm, heute ist er vielfach in die Oberfläche der IDE integriert. Momentan gibt es außer Eclipse vier große IDEs: MS.NET Framework SUN Netbeans Borland JBuilder 2005 (Abbildung 3.1) IBM WebSphere Abbildung 3.1 Borlands JBuilder

15 Was ist eine IDE? 3.1 Oberflächlich betrachtet, sieht man zwischen diesen Produkten in der Anwendung kaum noch Unterschiede. Zu hoch sind die Ansprüche der Anwender, dass sich jemand erlauben könnte, zu wenig Funktionalität zu bieten. So hat die.net IDE von der Projektverwaltung über den GUI-Builder bis zum Debugger alles in einem Programm zu bieten (Abbildung 3.2). Ein Sachverhalt, der eigentlich dem Vorhaben, keine monolithischen Programmriesen zu entwickeln, sehr widerspricht. Abbildung 3.2 Projektverwaltung in der.net IDE Die IDEs besitzen alle ausgeklügelte Editoren, die den Entwickler weitestgehend mit Codekomplettierung unterstützen, und die eine enge Verflechtung mit den anderen Elementen des Entwicklungssystems haben. Selbstverständlich kann man jederzeit kompilieren, debuggen sowie auf umfangreiche Nachschlagewerke zurückgreifen, die Beispielprogramme aufzeigen und alles Erdenkliche zur API zu sagen wissen. Microsoft bietet dabei mit msdn, dem Microsoft Developer Network, die umfangreichste Dokumentation. Sie finden hier fünf Programmiersprachen unter einer IDE (Abbildung 3.3). IDEs sind keine Entwicklung der letzten Jahre. Bereits unter DOS gab es ausgereifte Entwicklungsumgebungen für C (Microsoft Quick C) oder Assembler (Bor- 55

16 3 Unsere Werkbank, die IDE land TurboAssembler), die schon alle Bestandteile moderner IDEs aufwiesen. Einen Höhepunkt in der IDE-Entwicklung stellte IBM VisualAge for Smalltalk mit grafischer Programmierung dar (Abbildung 3.4). Es war damit möglich, Programme mithilfe von Symbolen zusammenzustellen. Abbildung 3.3 Die Hilfefenster des.net Frameworks Diese IDE wurde von OTI entwickelt, die gleiche Firma, die auch für Eclipse verantwortlich ist. Trotzdem ist Eclipse mit erstaunlichem Erfolg erst relativ spät in dieser»arena«aufgetaucht. Es besitzt nicht einmal einen integrierten GUI-Builder. Im Grunde hat es von allein eigentlich gar nichts, außer der Fähigkeit, Plugin-Zusatzprogramme in einer grafischen Oberfläche zusammenzufassen. Man war bei IBM nicht davon ausgegangen, dass man ein solches Produkt wie eine IDE allein auf die Beine stellen kann. Wie schon beim ersten PC hoffte man auf die Zuarbeit zahlreicher Firmen, indem man nur eine Plattform schuf, in die Softwarebausteine eingegliedert werden können, ähnlich wie Steckkarten in dem Personalcomputer. 56

17 Was ist eine IDE? 3.1 Abbildung 3.4 Programme zeichnen mit VisualAge Die Konzepte von Eclipse Während eine IDE bisher für die Nutzer auch immer bedeutete, sich auf ein bestimmtes Produkt festzulegen, geht Eclipse einen ganz anderen Weg. Es bietet lediglich ein Framework an, in dem beliebige Plugins ablaufen können, die natürlich für Eclipse geschrieben sein müssen. So lockt IBM auf diese Weise zahlreiche Komponentenanbieter, deren spezielle Softwarelösungen Eclipse-fähig zu machen und anzubieten. Denn das gemeinsame Produkt ist interessanter als viele Einzelprodukte, die nur bedingt zusammenarbeiten. In diesem Fall ist Eclipse kein proprietäres Produkt mehr, sondern eine offene Lösung. Der Entwickler ist nicht mehr darauf angewiesen zu warten, bis sein Anbieter eine IDE-Version liefert, die einen verbesserten GUI-Builder enthält. Er kann das Plugin des besten GUI-Herstellers nutzen, von dem Moment an, wo dieser Hersteller sein Werkzeug als Plugin für Eclipse anbietet. Eclipse wird aber auch als Kern für verschiedene andere Komplettlösungen (Frameworks) verwendet. So z. B. für den bereits erwähnten WebSphere Studio Application Developer, Rationals XDE, Borlands Together und die sogenannte myeclipse Workbench. Außerdem bringt die Firma INNOOPRACT Informationssysteme GmbH mit Yoxos eine sogenannte Eclipse-Distribution heraus. 57

18 3 Unsere Werkbank, die IDE Zur Geschichte von Eclipse gibt es nicht viel zu sagen, weil Eclipse noch nicht viel Geschichte hat. Irgendwann 1999 fiel sozusagen der Startschuss. Ende 2001 gab es eine erste Version, deren»väter«, wenn man so will, IBM und OTI waren. Nachdem IBM Eclipse zu Open Source erklärte, ging die Entwicklung des Systems erst richtig los. Um alles zu koordinieren, wurde ein Eclipse-Konsortium ins Leben gerufen. In diesem Konsortium sind selbst vermeintliche Konkurrenten des Systems wie Borland oder SAP vertreten. Jedes der über 130 Mitglieder hat das Recht, einen sogenannten Steward zu den Sitzungen des Konsortiums zu entsenden. Dieses Board of Stewards entscheidet über die Zukunft der IDE und legt fest, in welcher Weise die Software weiterentwickelt werden soll Eclipse ein Framework als IDE Plugins von verschiedenen Softwareunternehmen in einem Projekt zu nutzen, bringt natürlich auch Probleme mit sich. Selten sind die neuesten Versionen zur gleichen Zeit verfügbar. Deshalb wurde das Callisto-Projekt ins Leben gerufen. Es ging darum zu zeigen, dass man auch unter der Open Source-Lizenz ein Projekt aus zahlreichen verschiedenen Komponenten termingerecht fertigstellen kann. Eclipse ist eine der wenigen IDEs, die selbst in Java entwickelt wurden und trotzdem auf einem Rechner mit dürftiger Hardwareausstattung verwendbar sind. Zum einen liegt es an dem hohen Grad der Modularität, zum anderen daran, dass man statt AWT oder Swing eigene GUIs eingesetzt hat. Hier muss man wissen, dass AWT und insbesondere Swing grafische Oberflächen sind, die einen größtmöglichen gemeinsamen»nenner«der Oberflächen aller unterstützten Betriebssysteme darstellen, weil Java betriebssystemunabhängige Programme möglich macht. Hinzu kommt noch, dass sie eine Oberfläche integrieren, die mit sich dynamisch verteilenden Elementen arbeitet, wenn man die Größe einer Dialogbox oder eines Fensters ändert. Dadurch wurden Java-Programme groß, unakzeptabel langsam und erhielten einen schlechten Ruf. Mit der Entwicklung von Eclipse ist man einen anderen Weg gegangen. Statt AWT und Swing zu verwenden, hat man eigene GUIs gebaut (SWT Windowing Toolkit und JFace), die speziell für das jeweilige Betriebssystem zusammengestellt wurden. SWT ruft direkt die API-Funktionen der Windows-Oberfläche auf. Damit bekommt man ein betriebssystemidentisches»look and Feel«, das zudem weit schneller ist als die bisher verwendeten grafischen Oberflächen von Java. JFace ist seinerseits eine Erweiterung in Richtung eines neuen Java-Stylings, aber auf Basis der SWT-GUI. Durch kompatible Versionen für die anderen Betriebssysteme erreicht man auch für SWT und JFace Betriebssystemunabhängigkeit. 58

19 Weitere Eclipse-Sprachen 3.2 Bei Eclipse selbst handelt es sich um ein OOP-Projekt der Firma IBM. Es wurde im Rahmen der WebSphere Studio Workbench von der Tochterfirma OTI entwickelt. Diese Softwareschmiede hat bereits die Entwicklungsumgebung VisualAge programmiert, sodass von dort gute Ideen eingebracht wurden. Eclipse ist ein Editor gestütztes Entwicklungstool zur Programmierung in verschiedenen Programmiersprachen. Die Akzeptanz von Eclipse war von Anfang an besonders groß. Nicht nur eingefleischte Java-Programmierer setzen dieses Werkzeug ein, auch C++-Entwickler und sogar Perl-Anhänger verwenden dieses überaus flexible Werkzeug. Da Eclipse selbst in Java realisiert ist, gibt es das System für eine ganze Reihe von Betriebssystemen selbst für»exoten«wie QNX. Eclipse ist beliebig skalierbar. Eine Forderung, die sich bei Anwendersoftware nur schwer verwirklichen lässt. Mit Eclipse ist es auf ideale Weise gelungen. Nicht zuletzt ist Eclipse ein Open-Source-Produkt, was bedeutet, dass es kostenlos verwendet werden darf und der Quellcode für eigene Verbesserungen zur Verfügung steht. Bei Eclipse sind das nicht nur Floskeln wie bei vielen Produkten der Open-Source-Gemeinde. Denn ein Open Source-Notendruckprogramm wird immer ein Druckprogramm bleiben. Aus Eclipse lässt sich im Prinzip alles entwickeln. Man kann das Framework nutzen, um eine Textverarbeitung daraus zu bauen oder ein CAD-Programm usw. So ist Eclipse nicht nur als Werkzeug interessant, sondern auch als Grundbaustein für eigene Applikationen. Genau das macht ein Framework aus. 3.2 Weitere Eclipse-Sprachen Es sind weniger die alten Sprachen, die man als Plugin für Eclipse downloaden kann, obwohl es auch ein Cobol-Plugin gibt, als vielmehr neue Sprachschöpfungen, die wir bereits angesprochen haben oder noch kennen lernen. Neben Java haben sich einige»modesprachen«etablieren können, die ebenfalls vom Boom des Internets profitierten. Es sind natürlich objektorientierte Sprachen. Es ist jedoch keine reine Programmiersprache dabei, wenn man von Eiffel einmal absieht, das allerdings bereits einige Jahre älter ist. Sie besitzen etwa so viel Objektorientierung wie Java, was zeigt, dass die»zwittersprachen«im Moment am erfolgreichsten sind. Die Sprachen, die ich meine, sind Perl, Python und PHP. Es bleibt zu hoffen, dass es durch den Erfolg von Java nicht zu einer lawinenartig gesteigerten Neuentwicklung von Sprachen kommt, ähnlich der Situation, die zur Entwicklung von Ada führte. Einige Sprachen gehen eindeutig auf Java zurück oder wurden gar als direkte Konkurrenz zu Java entwickelt. 59

20 3 Unsere Werkbank, die IDE Nachdem Microsoft mit J++ schon keinen Erfolg hatte, ist die Firma mit C# ins Rennen gegangen. Die große Ähnlichkeit zu Java ist nicht zu leugnen. Entscheidend ist immer die Akzeptanz einer Sprache. Immerhin hatte auch Java mit Oak einen erfolglosen Vorgänger. Jedenfalls scheint der letzte Epigone, die Sprache Ruby, sich auch nicht sonderlich gut zu schlagen. Für all diese Sprachen gibt es Plugins, um in ihnen mit Eclipse programmieren zu können. Damit man sich entscheiden kann, ob man es mit Eclipse, außer in Java, auch einmal mit ihnen versucht, hier noch einmal kurz, um was es sich bei den genannten Sprachen handelt (obwohl das Kapitel»Sprachen«eigentlich hinter uns liegt) Perl Perl ist eine Interpretersprache und wird oft im Internet eingesetzt. Daneben begegnet man Perl auch immer öfter als Skriptsprache, um Konfigurierungen im Rahmen von Softwareprojekten durchzuführen. Perl ist ebenfalls eine imperativ funktionale Sprache und etwas kryptischer als Java. Es eignet sich jedoch aufgrund der kurzen Schreibweise hervorragend dazu, Texte zu bearbeiten und zu formatieren. Seit der 5. Version des Perl-Interpreters gibt es bei Perl auch objektorientiertes Programmieren. Das Perl-Plugin war eines der ersten»fremdsprachen«-plugins für Eclipse. Plugin: EPIC Eclipse Perl Integration Python Diese Sprache gilt als ausgezeichnete Einsteigersprache. Sie ist vom Sprachdesign her besser als Java und einfacher zu erlernen und deshalb bestens geeignet als Erstsprache für Programmieranfänger. Python ist sehr mächtig, flexibel und gut geeignet für große Projekte. Plugin: Python Development Toolkit (Pydev) C C ist als alte Sprache ziemlich nah mit Assembler verwandt. Als ANSI-C ist es eine rein imperative Sprache ohne jeden objektorientierten Ansatz. Jemand der sich intensiv mit Programmierung auseinander setzen möchte, sollte zumindest ansatzweise wissen, wie in C programmiert wurde. Man wird einige Beziehungen zu Java finden und endlich verstehen, warum in Java dieses oder jenes genau so und nicht anders gemacht wird. C selbst produktiv einzusetzen, ist nur noch dort interessant, wo sehr maschinennah programmiert wird. Beispiele wären Treiberprogrammierung und Softwareentwicklung in Linux. C ist ein guter Ein- 60

21 Weitere Eclipse-Sprachen 3.2 stieg in die Sprache C++, die objektorientiert ist. Beide Sprachen sind sich natürlich trotzdem sehr ähnlich. In C geschriebene Programme sind oft sehr schwer zu verstehen, weil es viele Programmiertricks in dieser Sprache gibt, die man nicht so leicht durchschaut. C ist eine sehr effiziente Sprache, es geht schonend mit den Ressourcen des Rechners um. Dafür muss man aber auch sehr viel von der Maschine verstehen und etliches ausprogrammieren, was man sich bei anderen Sprachen erspart, z. B. die Speicherverwaltung. Plugin: CDT C++ Als C++ entwickelt wurde, gab es die objektorientierte Programmierung bereits etliche Jahre. Doch der erste wirkliche»durchbruch«der OOP kam mit C++. Ein gewisser Bjarne Stroustrup hatte 1979 die Idee, die Sprache C mit objektorientierten Konzepten aufzuwerten. Er orientierte sich dabei an Simula. Die ersten Versionen von C++ waren Erweiterungen in Library-Form für das übliche ANSI- C. Anfangs hieß es»c with Classes«, bis 1983 die Umbenennung in C++ vollzogen wurde. Die weitere Entwicklung von C++ verlief sehr erfolgreich. Es wurde standardisiert und in großem Umfang eingesetzt. Viele der wichtigsten Softwareprodukte von heute wurden in C++ entwickelt. Beispiele für die Leistungsfähigkeit von C++ sind: Betriebssysteme (Windows NT mit mehr als 11 Millionen Zeilen. Windows 2000 mit über 30 Millionen Codezeilen. OS 400 und Linux sind übrigens auch zum großen Teil in C++ geschrieben worden. Benutzeroberflächen (X-Windows bei Linux-Rechnern) Compiler (Turbo Pascal-Compiler und C/C#-Compiler) Datenbankmanagementsysteme (Oracle/Sybase/Informix) Plugin: CDT Mehrere Programmiersprachen zu beherrschen ist hilfreich, auch wenn man nicht immer mit den verschiedenen Sprachen arbeitet. Erfahrung aus mehreren Sprachen ist sinnvoll, um die verschiedenen Denkweisen kennen zu lernen, die mit den Programmiersprachen verbunden sind. Um wirklich objektorientiert denken zu lernen, ist es z. B. auch ratsam, eine echte OOP-Sprache wie Eiffel oder Smalltalk kennenzulernen. Wobei Smalltalk keine Sprache ist, die in Eclipse integriert werden kann. Denn Smalltalk bringt sozusagen seine eigene IDE mit. Es ist Sprache, grafische Oberfläche und eine Sammlung von Entwicklungswerkzeugen in einem. So war diese Sprache im Grunde ein Vorgriff auf ein Werkzeug, was jetzt Java und Eclipse in Kombination bieten. Der ganz große Erfolg war Small- 61

22 3 Unsere Werkbank, die IDE talk nicht vergönnt, weil es eine reine Interpretersprache mit einer völlig fremden Sprachsyntax und auch nicht typenstreng ist. 3.3 So funktioniert eine IDE und so Eclipse Um zu verstehen, wie man eine IDE prinzipiell nützt, sollte man wenigstens eine ungefähre Vorstellung davon haben, wie moderne Software entwickelt wird. In den Filmmachwerken Hollywoods entstehen Programme immer in den Köpfen genialer Hacker, die stets alleine in ihrem Versteck auf dem Dachboden die endlosen Programmzeilen einhämmern. Die Wirklichkeit sieht allerdings ganz anders aus. Deutschlands renommierteste Softwareschmiede SAP in Walldorf hat ca Mitarbeiter. Eine Anzahl, die durchaus mit der Belegschaftsstärke eines PKW-Produzenten oder Chemieriesen mithalten kann. Das zeigt deutlich, dass Software zu produzieren keine eine Ein-Mann-Tätigkeit sein kann. Softwareprojekte zählen zu den anspruchsvollsten Ingenieurleistungen der heutigen Zeit. Dementsprechend müssen sie geplant und koordiniert werden. Vor allem ist es wichtig, die Arbeit zahlreicher Mitarbeiter unter einen»hut«zu bringen. In diesem Buch geht es vorrangig darum, Java zu lernen, weshalb wir diese Probleme nur streifen. Eine gute IDE muss jedoch Möglichkeiten bieten, die Softwareentwicklung im großen Stil zu planen und durchzuführen. So wirbt Borland beispielsweise damit, dass der JBuilder vom Projektmanagement über die Projektdefinition bis zur Auslieferung alle Schritte im Entwicklungszyklus von Software unterstützt (Abbildung 3.5). Man nennt dabei die folgenden Phasen: Define Projektinitialisierung und Projektdefinition Design Entwurf der Software Develop Konkrete Programmierung an der Software Test Test und Qualitätssicherung Deploy Produktion und Erstellung des auslieferbaren Codes Manage Projektsteuerung und Projektmanagement Borland hatte bereits 2005 eine neue Version des JBuilder angekündigt, der auf Eclipse aufbauen sollte (Codename»Peloton«). Von der Leistung her sollte er dem JBuilder 2006 entsprechen, sodass zwei JBuilder-Versionen existieren. Wobei Borland verlautet haben soll, dass die Eclipse-Version des Werkzeugs favorisiert wird. In der Tat sollte eine gute IDE den größten Teil dieser Entwicklungsphasen abdecken. Eclipse bietet natürlich auch einige dieser Möglichkeiten. Schwächen gibt es im Bereich Projektmanagement, eindeutige Stärken beim Reengineering, also 62

23 So funktioniert eine IDE und so Eclipse 3.3 bei der Optimierung und Überarbeitung von Software. Da Eclipse jedoch durch zahlreiche neue Plugins ständig an Möglichkeiten hinzugewinnt, werden die Schwächen wohl bald behoben sein. Abbildung 3.5 JBuilder-Website Start und erster Überblick Es beginnt bereits mit dem Start. Eine IDE sollte dem Entwickler vor allem die Möglichkeit bieten, genau dort weiter zu arbeiten, wo er beim letzten Mal aufgehört hat. Zumindest beim ersten Start sollte sie umfangreiche Informationen zum Einsatz des Systems zur Verfügung stellen (Abbildung 3.6). Abbildung 3.6 Beim ersten Start von Eclipse 63

24 3 Unsere Werkbank, die IDE Projektverwaltung neues Projekt erstellen Programme sollten Teil eines Projekts sein, und Projekte müssen verwaltet werden. Das rührt schon daher, weil nicht jedes Projekt nur aus einem Programm besteht. In der Zeit der objektorientierten Programmierung und der modularen Programme (Plugins bei Eclipse) schon gar nicht. Prinzipiell hat man bei IDEs das Problem, wie man Projekte und Programme sowie die Dateien, aus denen sie bestehen, innerhalb der IDE und auf der Festplatte darstellt. Früher war es meist so, dass man mit sogenannten Repositories gearbeitet hat. Das sind Datenbanken, in denen alle Informationen über Projekte, Programme und den Programmfortschritt gespeichert werden. Problematisch dabei ist, dass man oft nur über die Entwicklungsumgebung Zugang zu dieser Datenbank hat. Sinnvoller schien es, einfach alle Dateien in einer Verzeichnisstruktur auf der Platte abzulegen. Eclipse besitzt deshalb eine Mixtur zwischen einer Abbildung der Projekte in Verzeichnissen und dem Speichern der Projektinformationen in einer Art Repository-Datei. So kommt es, dass Projekte bei Eclipse wie ein Dateibaum aussehen und sich auch so im Verzeichnis auf der Festplatte finden lassen. Editor-Codekomplettierung Nachdem ein Projekt eingerichtet ist, geht es natürlich ans Programmieren. Hierzu benötigt man nach wie vor einen Editor. Auch wenn es bereits mehr oder weniger erfolgreiche Versuche in eine andere Richtung gab, z. B. die grafische Programmierung unter VisualAge (siehe Abbildung 3.4). Bei IDEs hängt sehr viel von der Leistungsfähigkeit des verwendeten Editors ab. Bei Eclipse gibt es keinen Standardeditor für alle unterstützten Sprachen. Jedes Plugin richtet sozusagen einen eigenen Editor ein. Der Editor des JDT ist unglaublich mächtig und lässt kaum Wünsche offen. Eine enorme Hilfe bei der Eingabe vom Programmcode ist die Fähigkeit vieler IDE-Editoren, den Code zu vervollständigen. Ausgeklügelte Suchfunktionen helfen oft fast noch mehr, wenn es darum geht, ähnliche Stellen im bereits programmierten Teil aufzufinden, um sich daran zu orientieren. Speichern ausführen Die Speicherung des Codes sollte unmerklich im Hintergrund ablaufen. Natürlich nur, wenn es erforderlich ist, aber vor allem wenn kompiliert und ausgeführt werden soll, selbstverständlich auch wenn der Entwickler das Programm beenden möchte. Zum Speichern gehört auch die Fähigkeit, unter einem anderen Namen abzuspeichern und im Code automatisch auf den neuen Namen umzubenennen. 64

25 Zusammenfassung 3.4 Historie und CVS Eine sehr interessante Funktionalität ist die Historie, die es dem Programmierer möglich macht, beliebige frühere Releasestände wieder herzustellen. In gewisser Weise gehört die Undo-Funktion auch zur Historie. Ausgeklügelte Historien erlauben dem Entwickler, ganz bestimmte Teile, also markierten Code, in seiner Entstehung zu verfolgen und notfalls einen älteren Stand wiederherzustellen. CVS (Concurrent Versions System) reicht dagegen weit über eine lokale Historie hinaus. Mit CVS werden die Dateien aller Projektteilnehmer zusammengeführt und die Releasestände archiviert. Auch mit CVS ist es möglich, alte Versionsstände zu rekonstruieren. Tests und Auslieferung Es versteht sich von selbst, dass der Entwickler während der Programmerstellung immer wieder testen muss, um zu überprüfen, ob das Erstellte auch dem entspricht, was erwartet wird. Tests stützen sich heute nicht mehr nur auf eine gute Beobachtungsgabe. Längst gibt es Routinen, die den Entwickler und den Qualitätssicherer bei seinen Tests unterstützen. Das beginnt bei einem einfachen Debugger und reicht bis zu ausgeklügelten Test-Frameworks. Auch sollte die IDE ihren Beitrag leisten können. Zu guter Letzt muss eine IDE auch in der Lage sein, die erstellten Programme in eine Form zu bringen, die man ausliefern kann. 3.4 Zusammenfassung Da Eclipse eine IDE ist, galt es zunächst zu klären, was man darunter versteht. IDEs sind Entwicklungsumgebungen, die alles bereitstellen, was der Entwickler zum Schreiben von Programmen benötigt: einen Editor, einen Debugger, Startmöglichkeit für den externen Compiler und Zugriff auf die Dokumentation und die Hilfedateien. Große IDEs sind: MS.NET Framework Borland JBuilder IBM WebSphere Eclipse Eclipse verfolgt im Gegensatz zu den anderen IDEs eine neue Philosophie. Es geht nicht mehr darum, bei der Entwicklung der IDE die ganze Funktionalität zur Verfügung zu stellen, sondern nur eine Basis zu bilden für Plugins, die an Funktionalität das liefern, was der Anwender fordert. 65

26 3 Unsere Werkbank, die IDE Eclipse ist zwar in Java programmiert, was aber nicht bedeutet, dass man nur Java damit programmieren sollte. Es gibt eine Reihe anderer Sprachen, die sich bereits mit Eclipse»angefreundet«haben. Wir haben sie uns kurz angesehen. Abschließend haben wir verfolgt, wie eine IDE prinzipiell eingesetzt wird. 3.5 Aufgaben zum Kapitel 1. Welche Bedeutungen hat die Abkürzung IDE? 2. Was sollte eine IDE können? 3. Wie heißen die verbreitetsten IDEs? 4. Was ist das Grundkonzept von Eclipse? 5. Warum nennt man Eclipse ein Framework? 6. Welche Sprachen lassen sich mittels Eclipse-Plugins programmieren? 7. Welche Schritte im Entwicklungsprozess sollte eine IDE unterstützen? 3.6 Webseiten zum Kapitel URL web/php/artikel/ides.shtml ausgabe/2001/09/python-ides/ python-ides.html Beschreibung Vergleich von Java-IDEs Java-Zeitschrift zu Eclipse Eclipse-Magazin Testbericht zu PHP-IDEs Python-IDEs Eclipse-Distribution Forum mit Thema»IDEs und Tools«Seiten zu Smalltalk Einführung in C++ Perl-Homepage Homepage der Sprache Ruby Deutsche Python-Homepage Deutsche Seite zu Eclipse 66

27 Unter Persistenz eines Objektes versteht man sein Überleben, wenn der Rechner einmal ausgeschaltet wird. Bisher haben wir unsere Objekte nur im Hauptspeicher gehegt und gepflegt. In diesem Kapitel befassen wir uns mit der Problematik, die Daten persistent zu machen, allerdings erst einmal in Bezug auf die Nutzung von Datenbanken. 15 Datenbanken in Eclipse 15.1 Einstieg in das Thema Mit Eclipse haben wir das Plugin SQL Explorer installiert. Es dient dazu, von Eclipse aus eine Datenbank zu pflegen. Um mit Datenbanken halbwegs professionell umgehen zu können, benötigt man allerdings einiges Wissen, das wiederum außerhalb von dem liegt, was man wissen muss, um Java programmieren zu können. Unter Dankenbanken stellt man sich zunächst einmal so etwas wie eine Festplatte vor. Das ist nicht ganz falsch. Bei Datenbanken geht es hauptsächlich darum, Daten zu speichern. Es gibt drei Typen von Datenbanken: die traditionelle Version, relationale und objektorientierte Datenbanken. Heute sind relationale Datenbanken vorherrschend. Während die ersten Datenbanken in erster Linie Techniken hatten, die eine optimale Speicherung von Datensätzen auf Festplatten realisierten, bieten heutige Datenbanken eine anwendungsorientierte Datenhaltung. Man arbeitete früher mit Zeigern, die Verbindungen zwischen den Datenpaketen darstellten. Heute sind relationale Datenbanken tabellenorientiert. Gleichzeitig kam mit den relationalen Datenbanken SQL auf. Der Vorläufer hieß SEQUEL (Structured English Query Language), daraus wurde die Structured Query Language (SQL), zu Deutsch: strukturierte Abfragesprache. Der Name sagt uns, dass sie vor allem dazu dienen soll, Daten aus einer Datenbank zu entnehmen. SQL ist relativ einfach zu erlernen, sie ist aber doch so umfangreich, dass wir hier nicht viel mehr als eine kurze Einführung geben können. Programmieren, ohne SQL zu können, ist eigentlich ein Unding. Sollte es also erforderlich sein, können Sie sich recht einfach anhand von Literatur oder Internetseiten (siehe Ende dieses Kapitels) SQL selbst beibringen. Es gibt zwar objektorientierte Datenbanken, und sie sind für die OOP ideal, weil man bei 509

28 15 Datenbanken in Eclipse ihnen direkt die ganzen Objekte ablegen kann. Aber sie halten sehr viele Daten mehrfach und sind deshalb nicht performant. Eigentlich spielen sie im praktischen Einsatz keine große Rolle. Ein schönes praktisches Beispiel für eine relationale Datenbank ist das Produkt MS Access. Falls Sie über das Programm verfügen, sollten Sie es nicht versäumen, folgende Ausführungen damit praktisch nachzuvollziehen Spielereien mit Access Grundlage der relationalen Datenbanken sind, wie erwähnt, die Tabellen. Eine Tabelle Kunde beispielsweise kann die Spalten Name, Vorname, Wohnort usw. enthalten. Nach dem Start von Access wählt man entweder Leere Datenbank erstellen, oder man lässt sich von einem Assistenten bei der Erzeugung der Datenbank KundenDB helfen (Abbildung 15.1). Abbildung 15.1 Erstellen einer leeren Access-Datenbank Bei der Erstellung der Tabelle hat man wieder mehrere Möglichkeiten. In der Entwurfsansicht gibt man die Spaltennamen und die gewünschten Typen an (Abbildung 15.2). Ist man fertig, wird die Tabelle auf den Namen Kunde getauft und ein Primärschlüssel erstellt. Schon hat man eine Tabelle, in die man Werte eingeben kann. Das Ganze kann man auch in SQL beschreiben. Es sieht dann etwa so aus: CREATE TABLE KUNDE ( ID NUMBER NOT NULL, 510

29 Spielereien mit Access 15.2 NAME VORNAME PLZ ORT STRASSENR TEL HANDY ) CHAR (24) NULL, CHAR (16) NULL, CHAR (8) NULL, CHAR (24) NULL, CHAR (24) NULL, CHAR (24) NULL, CHAR (24) NULL, CHAR (40) NULL Abbildung 15.2 Felder der Tabelle festlegen Sie werden sich fragen, wie Sie aus diesen Anweisungen mit Access eine Tabelle erstellen sollen. Das ist eigentlich relativ einfach. Sie müssen die SQL-Anweisung nur als Datendefinitionsabfrage ausführen. Hierzu wählen Sie zunächst einmal im Menü Einfügen Abfrage aus. Wechseln Sie in die Entwurfsansicht. Schließen Sie den folgenden Dialog (falls ein Dialog kommt) und wechseln Sie auf die SQL-Ansicht Ansicht SQL-Ansicht. In dem großen Editor-Fenster geben Sie die SQL-Anweisung ein. Falls Sie bereits eine Tabelle Kunde haben, schreiben Sie einfach: CREATE TABLE KUNDE2 ( Danach schließt man den Editor einfach und lässt die Abfrage speichern. Wählt man nun Ansicht Datenbankobjekte Abfragen und klickt sie mit der RMT an, kann man sie ausführen lassen, und die gewünschte Tabelle wird erzeugt (Abbildung 15.3). 511

30 15 Datenbanken in Eclipse Abbildung 15.3 Erzeugen einer neuen Tabelle per Abfrage Man findet die Tabelle in der Tabellenübersicht. Sie sollte alle angegebenen Spalten besitzen. Jetzt haben wir bereits unsere erste SQL-Anweisung kennengelernt. Um genau zu sein, es ist eine DDL(Data Definition Language)-Anweisung. SQL trennt man nämlich eigentlich in zwei Sprachen, in die erwähnte DDL und in eine DML (Data Manipulation Language). Die Namen sind selbstredend und deuten an, was man mit den Sprachen macht. Die wichtigsten Befehle der DDL sind: Befehl create table create index drop table drop index truncate alter table add constraint alter table Bedeutung Erzeugt eine Tabelle Erstellt einen Index Löscht eine Tabelle Löscht einen Index Löscht alle Zeilen einer Tabelle Setzt eine Integritätsregel für eine Tabelle fest Ändert Spalten, fügt Spalten an Tabelle 15.1 Die wichtigsten DDL-Befehle Die wichtigsten Befehle der DML sind: Befehl insert update delete select commit work rollback Bedeutung Fügt eine Zeile in eine Tabelle ein Ändert die Zeile/n einer Tabelle Löscht eine Zeile/n einer Tabelle Liest in der Datenbank Daten aus Tabellen oder Views Schreibt alle Änderungen auf die Platte Setzt alle Änderungen seit dem letzten commit zurück Tabelle 15.2 Die wichtigsten DML-Befehle 512

31 Spielereien mit Access 15.2 Access lässt sich übrigens direkt aus Eclipse starten. Man kopiert die Datenbankdatei (z. B. KundenDB) ins src-verzeichnis des Projekts, das auf die Datenbank zugreifen soll. In Eclipse aktualisiert man das Projekt: RMT auf das Projekt Refresh oder (F5). Will man eine Änderung an der Datenbank durchführen, startet man Access einfach mit einem Doppelklick auf die Datenbankdatei im Projekt (Abbildung 15.4). Abbildung 15.4 Access direkt aus Eclipse starten Nachdem wir nun die erste Tabelle haben, geht es weiter. Daten bleiben nicht auf ewig festgeschrieben, die Strukturen leider auch nicht. Wenn neue Kommunikationsmöglichkeiten entstehen, oder wir beispielsweise nur eine Telefonnummer vorgesehen haben, viele Kunden jedoch mehr als eine Nummer besitzen, müssen wir die Tabelle erweitern. Das heißt zunächst einmal, eine Spalte anzufügen. Machbar ist das, wie aus unserer Tabelle (Tabelle 15.1) hervorgeht, mit alter table. Es bedeutet aber auch, dass alle bestehenden Datensätze um einen Wert in der neuen Spalte ergänzt werden müssen. Versäumen wir das, kann es zu schweren Problemen in unseren Programmen, die auf die Datenbank zugreifen, kommen. Genau an dieser Stelle versagten die ersten Datenbanken. Die relationalen Systeme lieferten eine gangbare Lösung. Man setzt einfach die einzelnen Tabellen miteinander in Beziehung und bildet Relationen zwischen den Daten der Datenbank. Ein Kunde kann beispielsweise zwei Telefonnummern haben. Tragen wir sie in die Tabelle Kunde ein, müssen wir zwei Datensätze Kunde schreiben und alle Daten, bis auf die Telefonnummer, verdoppeln. Ein sehr unrentables Verfah- 513

32 15 Datenbanken in Eclipse ren. Erzeugen wir dagegen eine neue Tabelle TELNR, können wir die Tabelle Kunde und das ist der wichtigste Punkt völlig unverändert lassen. Erstellen wir also eine neue Tabelle. Ihre erste Spalte soll die ID der Kundentabelle enthalten, damit wir eine Beziehung aufbauen können. Also heißt sie KUNDE_ID. Dann folgt die Spalte für die Telefonnummer. Versuchen wir es einmal alleine mit SQL: CREATE TABLE TELNR( ID NUMBER NOT NULL, KUNDE_ID NUMBER NULL, TELEFON CHAR (24) NULL ) Nachträglich müssen wir allerdings in Access das ID-Feld mit AutoWert belegen. So haben wir das Problem natürlich noch nicht gelöst. Wir müssen eine Beziehung zwischen der ID in der Tabelle Kunde und dem Feld Kunde_ID in der Tabelle TelNr herstellen. Das gelingt in Access mittels Extras Beziehungen... In einem Dialog können wir die beiden Tabellen auswählen, oder wir klicken mit der RMT in das leere Feld und nutzen Tabelle anzeigen. Beide Tabellen werden markiert und mittels der Schaltfläche Hinzufügen aufgenommen. Nun klicken wir die ID in der Tabelle Kunde an und ziehen sie zu KUNDE_ID. Im Dialog Beziehungen bearbeiten klicken wir die Schaltfläche Verknüpfungstyp... an. Als Eigenschaft wird ausgewählt:»beinhaltet alle Datensätze aus Kunde und nur die Datensätze aus TELNR, bei denen die Inhalte der verknüpften Felder gleich sind«(abbildung 15.5). Die Auswahl wird bestätigt. Abbildung 15.5 Verknüpfung zwischen zwei Tabellen aufbauen 514

33 Spielereien mit Access 15.2 Nun sollte die Verknüpfungslinie eine Pfeilspitze bei Kunde_ID haben. Wir schließen und bestätigen, danach kann die Verknüpfung genutzt werden. Wir öffnen die Tabelle Kunde über Ansicht Datenbankobjekte Tabellen und klicken Kunde doppelt an. Tragen Sie einen ersten Kunden ein. Zum Eintragen der Telefonnummer klickt man vorne auf das kleine Pluszeichen und trägt die Nummer ein. Wie zu erkennen ist, kann man nun beliebig viele Nummern eingeben (Abbildung 15.6). Abbildung 15.6 Verknüpfte Tabellen füllen Die Access-Datenbank KundenDB findet man auf der DVD unter \Zum_Buch\ kap-0015\access-start. Um Access mit Java nutzen zu können, müssen wir einen ODBC-Treiber einrichten. Dazu wählt man Start Systemsteuerung und dann das Symbol Leistung und Wartung Verwaltung Datenquellen (ODBC). Hinzufügen... anklicken und Microsoft Access-Treiber (*.mdb) auswählen. Fertig stellen anklicken und als Datenquellenname CarlipsoDB eintippen. Man wählt die Datenbank KundenDB.mdb aus, die man mit Access eben erstellt hat. Name und Passwort braucht man nicht anzugeben. Nach den Bestätigungen ist die ODBC-Verbindung zur Datenbank erzeugt (Abbildung 15.7). Abbildung 15.7 ODBC-Treiber einrichten 515

34 15 Datenbanken in Eclipse Nun kann man darangehen, auf die Datenbank aus Eclipse mit SQL Explorer zuzugreifen. Da wir SQL Explorer bereits installiert haben, ruft man die Eclipse- Installation auf, die den SQL Explorer beinhaltet. Das Plugin hält sich auf den ersten Blick diskret im Hintergrund. Man kann allerdings überprüfen, ob es installiert ist, indem man Hilfe aufruft. Ein neuer Menüpunkt (About SQL Explorer) zeigt uns, dass unser DB-Plugin noch verfügbar ist (Abbildung 15.8). Wir öffnen die zugehörige Perspektive über Fenster Perspektive öffnen Andere... SQL Explorer. Die Perspektive ist zwar unübersichtlich, weil sie viele Sichten vereint, aber sinnvoll (Abbildung 15.9). Abbildung 15.8 SQL Explorer ist installiert. Abbildung 15.9 Zeigt viel, ist aber (noch) leer 516

35 Die Einrichtung von SQL Explorer Die Einrichtung von SQL Explorer Klicken wir in die Sicht Connection links oben mit der RMT New Connection Profile... Als Name für das Profil sollten wir vielleicht CarlipsoDB nutzen. Der Treiber ist zwar eigentlich eine JDBC ODBC Bridge, aber wir können ihn nicht einfach darauf einstellen. Der SQL Explorer muss wissen, wo der Treiber liegt. Das können wir ihm nur über die New Driver... Schaltfläche mitteilen. Im folgenden Dialog geben wir als Name JDBC Treiber an. Dann gilt es, den Pfad anzugeben, in dem die Jar-Datei mit dem Treiber zu finden ist. Der liegt unter der JRE in der Datei rt.jar. Diese Datei geben wir unter dem Reiter Extra Class Path mit der Schaltfläche Add an (Abbildung 15.10). Abbildung Pfad und Treiber angeben Mit der Schaltfläche List Drivers nach dem Treiber in der rt.jar suchen zu lassen, ist nicht sehr sinnvoll und der Rechner»hängt sich eventuell auf«. Man kann aber den Treiber direkt im Driver Class Name-Feld angeben: sun.jdbc.odbc.jdbcodbcdriver (Abbildung 15.10). Es ist erforderlich, im Feld Example URL die URL zur Datenbank anzugeben, um die OK-Schaltfläche klicken zu können. Sie lautet: jdbc:odbc:carlipsodb. Nun braucht man im vorigen Dialog nur noch den erstellten Treiber auszuwählen. Den Nutzernamen und das Passwort lässt man weg, weil sie unter Access auch nicht festgelegt wurden (Abbildung 15.11). 517

36 15 Datenbanken in Eclipse Abbildung Das Verbindungsprofil Es kann jedoch sein, dass der angelegte Treiber nicht angezeigt wird. Wenn man die Funktion noch einmal aufruft, ist er in den meisten Fällen da. Nach dem OK wird die Verbindung im Connections-Fenster angezeigt. Mit einem Doppelklick ruft man den Verbindungdialog auf (Abbildung 15.12). Abbildung Verbindung aufbauen Nachdem mit OK bestätigt wurde, wird mit der Datenbank eine Verbindung aufgebaut. Sichtbar wird es schon durch die Anzeige der Struktur in der Database Structure-Sicht. Die Bestandteile werden in Form eines Baums angezeigt. Man kann sich alles bis zu den Spalten der Tabellen ansehen (Abbildung 15.13). Der SQL Editor ermöglicht uns nun, SQL-Anweisungen an die Datenbank zu senden. Es ist die Sicht, die den Java-Editor in dieser Perspektive ersetzt hat. Versuchen wir es mit einer ganz einfachen Anweisung. select * from Kunde 518

37 Die Einrichtung von SQL Explorer 15.3 Abbildung Die Datenbank-Struktur Machen Sie es wie im Scrapbook, markieren aber dann nicht mit RMT sondern mit dem Männchen in der Icon-Leiste. Die SQL-Abfrage soll uns nun den gesamten Inhalt der Tabelle Kunde ausgeben. In der Tat wird in der SQL Results die Tabelle angezeigt (Abbildung 15.14). Abbildung Per»SQL-Statement«Daten aus der Tabelle lesen 519

38 15 Datenbanken in Eclipse Versuchen wir etwas mehr. Tragen wir doch einmal einen neuen Kunden mittels SQL ein. INSERT into Kunde values (5, 'Prof', 'Berger', 'Herbert', 'Frankfurter Str 12', '02524', 'Schlangenbad', ' ', ' ', 1, ' ') Ein erneutes select * from Kunde sollte den neuen Kunden ebenfalls zeigen (Abbildung 15.15). Abbildung Einen Kunden eintragen und ansehen 15.4 Allgemeine Betrachtungen zu Datenbanken Wenn auch der erste Eindruck sein könnte, bei relationalen Datenbanken handele es sich nur um Tabellen mit Daten darin, so ist dem nicht so. Datenbanken sind weit mehr. Neben den eigentlichen Daten bestehen sie aus Benutzerrechten, Regeln, Funktionen, Zugriffsbedingungen und Zugriffsberechtigungen, Tabellen und den Beziehungen zwischen den Tabellen, die wir bereits kennengelernt haben. Datenbanken dienen dazu, umfangreiche Datenmengen zu speichern, bereitzuhalten und aufbereitet zurückzuliefern und das für mehrere Anwender gleichzeitig. Datenbanken sind also wahrhaftig nicht einfach nur Datenspeicher, sondern verwalten auch Regeln, die in Beziehungen zu den Daten stehen. So kann man bei- 520

39 Allgemeine Betrachtungen zu Datenbanken 15.4 spielsweise dafür sorgen, dass nur bestimmte Benutzer gewisse Daten lesen oder ändern dürfen. Man kann aber auch sicherstellen, dass die Daten gewissen Konsistenzbedingungen genügen. Beispielsweise sollen die gespeicherten Adressen entweder gar keine oder aber eine fünfstellige Postleitzahl besitzen, die nur aus Ziffern besteht. Sogenannte Datenbank-Managementsysteme (DBMS) verwalten die Daten der Datenbanken. Nur über das DBMS wird auf die Datenbank zugegriffen. Das DBMS prüft und kontrolliert dabei und führt komplexe Operationen im Auftrag der Anwendungen aus. Wie das DBMS dabei vorgeht, interessiert die Anwendungsprogramme nicht. Sie haben nicht einmal direkten Kontakt zum DBMS, weil meist noch ein ODBC-Treiber dazwischen»sitzt«, der die Wünsche der Anwendungsprogramme entsprechend umsetzt. Datenbank-Managementsysteme nutzen eigene Regeln, um Redundanzen in den Daten gering zu halten. Erst bei der Rücklieferung der Daten werden sie wieder so zusammengestellt, wie es sich gehört Zugriffssysteme und Datenbank-Server Datenbanken werden heute viel häufiger in Form sogenannter Datenbank-Server genutzt als in der Form von Standalone-Datenbanken, wie wir bis jetzt Access genutzt haben. Wie kann man sich das vorstellen? Im Grunde ist es nur eine Datenbank mit DBMS und angehängtem Server, der dazu dient, die Daten über das Netz zahlreichen Nutzern zur Verfügung zu stellen. Wenn wir von Datenbanken sprechen, meinen wir eigentlich den Plattenplatz, auf dem ein DBMS die Daten einer Datenbank ablegt, oder wir meinen das DBMS selbst. Schnittstellen zu einer Datenbank sind eigentlich immer nur Schnittstellen zum DBMS. Man spricht jedoch üblicherweise nur von Datenbankschnittstellen. Die Schnittstellen zu den Datenbanken über das DBMS sind aus verschiedenen Schichten (Layer) aufgebaut. Viele dieser Schnittstellen sind Remoteschnittstellen, also netzwerkfähig. DBMS verwenden dabei meist das TCP/IP-Protokoll, das uns vom Internet geläufig ist. Genau wie unter Access werden auch über die Netzwerk-Connection die Befehle oder Kommandos in Datenbanksprachen abgesetzt. Um über das Netz Daten zu senden, müssen diese serialisierbar sein. Tabellen sind aber nichts Serielles. SQL aber kann man als fortlaufenden Zeichenstrom darstellen. 521

40 15 Datenbanken in Eclipse Natürlich verfügt jede Datenbank über eine eigene Schnittstelle. Das bedeutet, dass sich der genaue Aufbau der Kommandos und vor allem die Übertragung über das Netzwerk erheblich unterscheiden selbst bei der Verwendung von SQL. Wir werden das noch feststellen, wenn wir bald SQL-Befehle für MySQL erzeugen. Sie unterscheiden sich ein wenig von dem SQL, das von Access verstanden wird. Zu den Datenbank-Servern gibt es Dienstprogramme, die über diese Schnittstellen mit der Datenbank kommunizieren können. Wir werden für MySQL eine Reihe von Dienstprogrammen benötigen, die alle über einen Remotezugriff auf die Datenbank zugreifen. Meist ist ein Dienstprogramm für bestimmte Aufgaben gedacht, beispielsweise für die erste Einrichtung. Andere Dienstprogramme bieten Zusatzfunktionen, die man für die Administration (Anlegen von Benutzern usw.) benötigt. Manche Datenbanken bieten solche Zusatzfunktionen auch über SQL an. Bei der Datenbank Oracle findet man beispielsweise einen so erweiterten SQL-Dialekt. Die Kommandos sind so aufgebaut, dass sie den SQL-Standards genügen und ihnen nicht widersprechen. Es handelt sich dabei um sogenannte SQL-Erweiterungen. Da man mit Java jedoch datenbankunabhängig programmieren kann, sollte man solche speziellen SQL-Befehle möglichst wenig einsetzen. Man erspart sich so Probleme bei der Nutzung anderer Datenbanken. SQL sorgt für eine gewisse Unabhängigkeit auf der Anwendungsebene, die aber nur gewährleistet ist, wenn man die genormten Befehle einsetzt, die von allen Datenbanken verstanden werden. Die Unabhängigkeit auf der Programmierebene wird durch eine andere Art von Schnittstellen gewährleistet. Es sind eine Reihe von Funktionen, die aus einer Programmiersprache aufgerufen werden können. Die Schnittstellen, die diese Vereinheitlichung bewirken, sind ODBC und JDBC. ODBC, OpenDataBaseConnectivity, beschreibt, wie Programme mit der Datenbank (eigentlich dem DBMS) kommunizieren sollen. ODBC ist eigentlich eine Funktionsbibliothek, die SQL bereits voraussetzt. ODBC regelt aber auch eine Ebene tiefer den Verbindungsaufbau zu einer Datenbank und berücksichtigt dabei die Benutzerauthentifizierung und andere Sicherheitsmechanismen. JDBC ist, wie wir bereits wissen, das Gegenstück für Java. Selbst wenn man aufgrund des Einsatzes von ODBC und JDBC davon ausgeht, dass alles Genormte problemlos zusammenpasst, ist das in der Praxis eigentlich nie so. Falls Sie den Fehler beim Zugriff von SQL Explorer auf unserer Access- Datenbank auch hatten, haben Sie diese Praxis bereits eingehend kennengelernt. Leider ist es oft so, und es kostet oft mehr Mühe als erforderlich, die Datenbankzugriffe halbwegs brauchbar zu realisieren. 522

41 MySQL MySQL MySQL installieren Auf der DVD befindet sich eine Version von MySQL für Windows. Es ist zwar nicht so nutzerfreundlich wie Access, entspricht aber weit mehr der üblichen Art, einen Datenbank-Server zu nutzen. Die Installationsroutine befindet sich unter \software\datenbank und heißt: mysql-essential win32.msi. Man startet sie mit einem Doppelklick. Zuerst gibt es den üblichen Begrüßungsdialog zu sehen (Abbildung 15.16). Abbildung MySQL-Setup Nun kann man auswählen, ob man eine Installation mit den üblichen Funktionalitäten (Standard) durchführt, oder ob man alles installiert oder eine benutzerdefinierte Installation wählt (Abbildung 15.17). Abbildung Auswahl des Setup-Typs 523

42 15 Datenbanken in Eclipse Wir wählen die Standardinstallation (Typical). Die Installation wird vorbereitet, und die Dateien werden kopiert (Abbildung 15.18). Abbildung Die Installation läuft. Jetzt bietet MySQL an, einen Account auf MySQL.com einzurichten, damit man immer Zugriff auf die neuesten Versionen hat. Das ist zwar durchaus sinnvoll, wird hier jedoch nicht näher beschrieben. Mit Skip Sign-Up lässt sich dieser Punkt überspringen (Abbildung 15.19). Abbildung Account einrichten übersprungen Der nächste Dialog fragt, ob man eine Konfiguration des MySQL-Servers durchführen möchte (Abbildung 15.20). 524

43 MySQL 15.5 Abbildung Die Konfiguration starten Man lässt den Merkerkasten aktiviert und wählt die Schaltfläche Finish an. Es wird in einem weiteren Dialog auf den Start der Konfiguration hingewiesen. Anschließend folgt eine Abfrage, ob eine detaillierte Konfiguration oder die Standardkonfiguration durchgeführt werden soll (Abbildung 15.21). Hier wird die Standardkonfiguration gewählt. Abbildung Auswahl der Standardkonfiguration Des Weiteren fragt MySQL, ob es als Windows-Service laufen soll und wie der Service heißt. Außerdem kann man den Pfad setzen lassen, damit man die Clientund Service-Routinen direkt im Kommandozeilen-Fenster starten kann, ohne die Verzeichnisnamen angeben zu müssen. Das wird natürlich aktiviert (Abbildung 15.22). 525

44 15 Datenbanken in Eclipse Abbildung Als Service einrichten Im nun folgenden Account-Dialog gibt man ein Passwort für den Root-Zugang zur Datenbank an. Den Root-Zugang über das Netzwerk braucht man meist nicht zu aktivieren, weil man wahrscheinlich nur einen Rechner zur Verfügung hat, um die Datenbank zu nutzen. Zusätzlich sollte man aber den anonymen Zugang aktivieren (bei Abbildung nicht geschehen). Abbildung Das Root-Passwort festlegen Im nächsten Schritt wird die Konfiguration schließlich ausgeführt (Abbildung 15.24). 526

45 MySQL 15.5 Abbildung Übernahme der Konfiguration Wichtig ist heutzutage, die lokale Kommunikation an der Firewall vorbei zu führen. Dazu sollte man den genutzten Port auf der lokalen Maschine freigeben. Das kann etwas problematisch werden. Und falls es später Probleme mit dem Zugriff gibt, kann es eventuell an der Firewall liegen (Abbildung 15.25). Abbildung Die Firewall spielt auch mit Zum Schluss muss noch einmal die Schaltfläche Finish angeklickt werden. Die Installation ist abgeschlossen Die ersten Experimente mit einem Datenbank-Server Nun müssen wir irgendwie Kontakt zu dem Server auf unserem Rechner aufnehmen. Um zu testen, ob der Server aktiv ist, öffnet man die Eingabeaufforderung und gibt folgendes Kommando ein: mysqladmin -u root -h localhost p ping 527

46 15 Datenbanken in Eclipse Zurück kommt zunächst nur ein: Enter password: Geben Sie das festgelegte Passwort ein. Als Antwort von MySQL sollte nun die Meldung»mysqld is alive«kommen. Sollte eine Fehlermeldung erscheinen, ist irgendeine Einstellung nicht in Ordnung oder die Firevall fängt alles ab. Es kann aber auch sein, dass der Server gar nicht läuft. In Windows bedeutet das, dass man bei den Diensten nachsieht: Start-Icon Systemsteuerung Verwaltung Dienste. In der Liste der Dienste sollte sich ein Eintrag MySQL finden lassen. Ist er nicht gestartet, kann er mit den Links neben der Tabelle gestartet werden. Hier lässt er sich auch herunterfahren, wenn einmal Änderungen an den Einstellungen (ini- Datei) erforderlich sind. Der Server kann aber auch per mysqladmin heruntergefahren werden. Lassen Sie die Dienste offen. Geben Sie in der Eingabeaufforderung folgendes Kommando ein: mysqladmin -u root -h localhost -p shutdown An der Anzeige in der Dienste-Liste läßt sich verfolgen, wie der Dienst nun beendet wird. Spätestens wenn man im Dienstedialog den Menüpunkt Aktion Aktualisieren wählt, sollte das»gestartet«im Status verschwinden. Bei mysqladmin handelt es sich sozusagen um die Admin-Konsole. Man kann den Dienst nun entfernen. Das gelingt mit folgendem Befehl. mysqld-nt remove Nun sollte der Dienst aus der Liste der Dienste verschwunden sein. Man sollte in der Eingabeaufforderung den Dienst auch wieder installieren, und zwar mit: mysqld-nt -install Allerdings ist es sinnvoll, dies nur aus dem Verzeichnis zu tun, in dem die Datei mysqld-nt liegt, oder den Pfad absolut angeben. Starten Sie den Server-Dienst wieder über den Link an der Dienste-Liste. Was mysqladmin noch bietet, ist ein kleiner Status, der die nötigsten Informationen zum Server liefert. Man ruft ihn auf mit: mysqladmin -u root -h localhost -p status Wir werden zwar in erster Linie mit dem SQL Explorer aus Eclipse heraus am Server arbeiten, es ist aber vorteilhaft, wenn man auch die Tools kennt, die für 528

47 MySQL 15.5 die Pflege des Systems gedacht sind. Ganz wichtig ist der sogenannte Client mysql. Er dient dazu, remote auf die Datenbank zuzugreifen. Dabei funktioniert er wie ein zeilenorientiertes Programm und erlaubt uns, SQL-Befehle an die Datenbank zu schicken. mysql -u root -h localhost -p Statt des»dos-prompts«erhält man ein Prompt, das anzeigt, dass man sich im Client-Programm befindet. mysql> Vor dem Prompt stehen noch einige Begrüßungsworte, aus denen hervorgeht, dass wir jeden SQL-Befehl mit einem Semikolon abschließen müssen. Mit der Eingabe von help kann man sich einen Überblick über die verfügbaren Kommandos verschaffen. Doch wir wollen uns natürlich die Datenbank selbst ansehen. Ist überhaupt eine Datenbank vorhanden? Die Entwickler von MySQL haben natürlich eine kleine Testdatenbank mitgeliefert. Man kann sich die Datenbank test und die Datenbank mysql ansehen. Um auf eine Datenbank zuzugreifen, muss man sie zuerst aktivieren, das gelingt mit dem Befehl USE. mysql> USE mysql; Der SQL-Befehl, um sich eine Datenbank oder besser gesagt eine Liste der darin enthaltenen Tabellen anzusehen, lautet: mysql> SHOW TABLES; Abbildung Tabellen der Datenbank mysql 529

48 15 Datenbanken in Eclipse Datenbanken erzeugen Wir wollen nun zunächst eine eigene Datenbank erzeugen. mysql> CREATE DATABASE Carlipso; Um diese neue Datenbank zu nutzen, müssen wir sie wieder aktivieren. mysql> USE carlipso; Eine Anzeige der Tabellen mit SHOW TABLES darf natürlich noch nichts anzeigen. Auch das wollen wir ändern. Legen wir die Tabelle Kunde an. Der Editor funktioniert so, dass man mittels der Return-Taste in eine neue Zeile wechselt. Am Ende wird mit einem Semikolon abgeschlossen. mysql> CREATE TABLE kunde( -> id TINYINT UNSIGNED NOT NULL AUTO_INCREMENT, -> titel CHAR(16) NULL, -> name CHAR(24) NULL, -> vorname CHAR (24) NULL, -> strassenr CHAR (24) NULL, -> plz CHAR (5) NULL, -> ort CHAR (25) NULL, -> tel CHAR(25) NULL, -> handy CHAR (25) NULL, -> geschlecht BINARY, -> geburtsdatum CHAR (25) NULL, -> PRIMARY KEY(id), -> INDEX(name, plz, ort)); Die einzelnen Typen findet man in der API-Dokumentation unter JDBC sehr schön erklärt (in Englisch). Der Pfad innerhalb der Dokumentation ist \docs\ guide\jdbc\getstart\gettingstartedtoc.fm.html. Die Tabelle ist rasch angelegt (Abbildung 15.27). Mit desc kunde kann man sie sich anschauen. Mit drop Table kunde; hat man die Tabelle aber auch genauso rasch wieder gelöscht. Aber wir wollen wenigstens einen Datensatz eintragen. Versuchen wir es mit unserem Herrn Berger. mysql> INSERT into kunde values ( -> 1, 'Prof', 'Berger', 'Herbert', -> 'Frankfurter Str 12', -> '02524', 'Schlangenbad', -> ' ', ' ', true, ' '); 530

49 Eclipse und MySQL 15.6 Abbildung Neu angelegte Tabelle anzeigen Diesen ersten Datensatz kann man sich bereits mit dem Befehl select * from kunde; anschauen. Es lassen sich auch mehrere Datensätze mit einer into-anweisung einstellen. mysql> INSERT INTO kunde VALUES -> (1, '', 'Brunninger', ), -> (2, '','Müller', ), -> (3, 'Ing','Beerg', ); Gelöscht werden Datensätze mit mysql> DELETE FROM kunde WHERE id = 2; oder alle Datensätze in einer Tabelle mit mysql> DELETE FROM kunde; 15.6 Eclipse und MySQL Da wir den SQL Explorer bereits mit Access genutzt haben, sollte es jetzt ein Einfaches sein, mit dem Plugin auf den Datenbank-Server aufzusetzen. Öffnen wir die SQL Explorer-Perspektive Fenster Perspektive öffnen Andere... und SQL Explorer. Für MySQL benötigen wir allerdings einen anderen JDBC-Treiber. Er befindet sich auf der DVD zum Buch unter \Software\Datenbank\Driver und heißt mysql-connector-java bin.jar. Man kopiert ihn am besten in das Eclipse- Verzeichnis der Eclipse-Installation mit dem SQL Explorer-Plugin. Bei der neu zu erstellenden Konfiguration wird er natürlich unter New Driver in Extra Class Path mit Add angegeben. Jetzt kann man mit der Schaltfläche List Drivers den Treiber suchen lassen und im Feld Driver Class Name sollte man dadurch 531

50 15 Datenbanken in Eclipse com.mysql.jdbc.driver auswählen können. Ins Feld Server URL kommt jdbc:mysql://localhost:3306/carlipso. Nun kann man auch Name und Passwort nutzen. Als Name wird man root eingeben; das zugehörige Passwort ist auch erforderlich. Mit einem Doppelklick auf der erstellten Connection wird der Verbindungsaufbau gestartet. Zunächst wird in der rechten Database Structure View die Datenbank mit der Tabelle kunde angezeigt. Die Tabelle kann wie ein Verzeichnis aufgeklappt werden. Abbildung Eclipse riskiert einen Blick auf MySQL. Um einen Kunden zu erfassen, müssen wir wieder den SQl-Editor des SQL Explorers bemühen. Inzwischen kennen wir uns ja bereits ein wenig damit aus. Sie sehen auch, dass im Bereich der Datenbanken auf Kenntnisse in SQL nicht verzichtet werden kann. Versuchern wir also unser Glück mit MySQL und folgender Zeile: INSERT INTO kunde VALUES (2, '', 'Brunninger', 'Isolde', 'Hauptstrasse 10', '12603', 'Berlin ', ' ', '', false, ' '); Es kann sein, dass wir das Ergebnis nicht gleich zu sehen bekommen. Dann klicken wir mit der RMT auf MySQL in der Sicht Database Structure und dann auf Refresh. Um den Inhalt der Tabelle zu sehen, müssen wir dort auf den Tabellennamen einen Doppelklick ausführen (Abbildung 15.29). 532

51 Eclipse und MySQL 15.6 Abbildung Daten in Tabelle einfügen SQL Explorer bietet weitere Editiermöglichkeiten. Klickt man mit der RMT auf den Datenbanknamen in der Database Structure, kann man über das Menü eine SQL-Anweisung (Generate CREATE TABLE Script) zum Erzeugen der aktuellen Tabelle generieren lassen. Wir versuchen es einmal und verwenden dieses Script, um eine neue Tabelle aufzubauen. Erzeugen Sie die folgenden Spalten: ID, Marke, Modell, Fahrzeugart, Baujahr, Leistung, Kilometerstand, Getriebeart, Kraftstoff, Farbe, Ausstattung. Überlegen Sie jeweils genau, welchen Typ Sie nehmen müssen. Die Abbildung zeigt eine mögliche Lösung. Das ganze Script sieht so aus: CREATE TABLE `Kfz` ( `id` tinyint(3) unsigned NOT NULL auto_increment, `Marke` char(64) default NULL, `Modell` char(64) default NULL, `Fahrzeugart` char(32) default NULL, `Baujahr` char(25) default NULL, `Leistung` tinyint(3) default NULL, `Kilometerstand` int(6) default NULL, 533

52 15 Datenbanken in Eclipse `Getriebart` char(25) default NULL, `Kraftstoff` char(25) default NULL, `Farbe` binary(25) default NULL, `Ausstattung` char(32) default NULL, PRIMARY KEY (`id`), KEY `Modellart` (`marke`,`model`,`fahrzeugart`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1; Abbildung Tabelle»Kfz«anlegen Diese Lösung benötigt eine weitere Tabelle für die Ausstattung. Sie muss die ID des Kfz, dazu einen Namen und eine Beschreibung sowie den Preis als Felder enthalten (Abbildung 15.31). Das Script dazu lautet: CREATE TABLE `Ausstattung` ( `id` tinyint(3) unsigned NOT NULL auto_increment, `kfz_id` tinyint(3) unsigned default NULL, `Name` char(32) default NULL, `Beschreibung` char(255) default NULL, `Preis` decimal(10) default 0, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1; 534

53 Zusammenfassung 15.7 Abbildung Tabelle»Ausstattung«erzeugen 15.7 Zusammenfassung Relationale Datenbanken gehören heute fast zu jeder Anwendung. Man speichert in ihnen alles: von einfachen Ganzzahlen bis zu Bildern und Objekten. Es gibt zwar objektorientierte Datenbanken, aber sie haben sich nie richtig durchsetzen können. Als gutes Beispiel für eine nutzerfreundliche relationale Datenbank kann Access dienen. Es erlaubt auf einfache Weise eine recht detaillierte Konstruktion von Datenbanken. Wir haben damit eine Kundendatenbank aufgebaut. Sie enthielt zwar lediglich eine Tabelle, hat uns aber gezeigt, wie man Tabellen anlegt und befüllt. Vor allem aber diente sie zu einer Einführung in SQL, der weltweit eingesetzten Datenbanksprache. Eigentlich besteht sie aus zwei Sprachen, der DDL und der DML. Die wichtigsten Befehle der beiden Sprachen haben wir uns in Übersichten angeschaut. Nachdem mit Access eine minimale Datenbank aufgebaut war, wurde das Plugin SQL Explorer in Eclipse konfiguriert, sodass man damit auf die Datenbank zugreifen konnte. Ganz entscheidend ist dabei die Einrichtung eines JDBC-Treibers, weil er die Verbindung zum ODBC-Treiber von Access aufbaut. 535

54 15 Datenbanken in Eclipse Nachdem wir uns mit Datenbanken im Allgemeinen beschäftigt haben, wurde ein Datenbank-Server eingerichtet. Er nennt sich MySQL und lag in einer Version für Windows vor. Datenbank-Server werden über eine Remoteverbindung gewartet, deshalb benötigen sie zusätzliche Routinen. Für MySQL gibt es den Client mysql.exe und das Wartungstool mysqladmin.exe. Auf dem Server richteten wir die Datenbank Carlipso ein und realisierten auf ihr auch eine Tabelle Kunde. In einem letzten Schritt verbanden wir auch hier das SQL Explorer-Plugin mit der Datenbank und pflegten sie aus Eclipse heraus. Das ging bis zum Anlegen von neuen Tabellen und dem Eintragen von Datensätzen. Im nächsten Kapitel werden wir aus unserem Java-Programm heraus auf die Datenbanken zugreifen Aufgaben zum Kapitel Theorie 1. Welche Arten von Datenbanken haben wir in diesem Kapitel genannt? 2. Mit welchen Mitteln arbeiten relationale Datenbanken? 3. Warum werden objektorientierte Datenbanken kaum verwendet? 4. Was bedeuten die Buchstaben SQL? 5. Wozu dient SQL? 6. Aus welchen beiden Sprachen ist SQL aufgebaut? 7. Der ODBC-Treiber ist für die Kommunikation zwischen Java und Access wichtig. Inwieweit ist diese Aussage richtig? 8. Was ist die Aufgabe des JDBC-Treibers? 9. Welche JDBC-Treiber haben wir kennengelernt? 10. Wie kann man den SQL Explorer mit MySQL verbinden? Praxis 1. Sie ahnen es schon? Natürlich haben wir wieder mit Absicht die Kundennummer weggelassen. Versuchen Sie, eine Spalte Kundennummer mittels Eclipse in der Tabelle Kunde einzufügen. 2. Erzeugen Sie mit Eclipse eine Tabelle Preis, die drei Felder enthält: eine Kfz- ID, eine Kategorie als Ziffer und ein Feld für den Preis. 536

55 Webseiten zum Kapitel Webseiten zum Kapitel URL Ausarbeitung/HTTPandJDBC/javadb/ ausarbeitung/jdbcb.htm java-mysql/java-mysql.html MySQL_Java_277.htm ausgabe/2001/04/postgres-mysql/ postgres-mysql.html seminare/jdbc/ fcdb/oracle/or-jdbc.html jdbc.html Beschreibung Deutsche MySQL-Homepage MySQL-Homepage Anleitung zu JDBC Postgres-Homepage Ausarbeitung zu Java und Datenbanken MySQL und Java MySQL und Java MySQL und Java Vergleich zwischen Datenbanksystemen TU Berlin zu Datenbanken und Java Java User-Group-Forum allgemein Java User-Group-Forum JDBC Postgres-JDBC-Treiber JDBC-Infos Einführung in JDBC von der FHTW Berlin 537

56 Index 3-Tier-Modell 541 A abstrakt 221, 253 abstrakte Klassen 236, 251 abstrakte Methode 251 Alan Turing 26 Algol Amigos 205 Analyse 304 Anekdote 23 Anwendungsfall 304 Anwendungsobjekte 208, 305 anzeigen 328 API 203, 246 API-Doku 356 API-Dokumentation 70, 485 APL 50 Apple imac 23 Applikation 303 Arbeitsset 130, 136 Archivart 101 ArrayList 320 Arrays 264 ASCI 351 Assembler 26 Ast 198 atomare Typen 262 AtomicInteger 263 AtomicLong 263 Attribute 196, 306, 342 Aufbau 139 auflösen 250 Aufrufstelle 234 Auslieferung 65 Ausnahmefälle 453 AWT 58 AWT-Oberfläche 252 B Basisklassen 198 Baum 198 Bauplan 195 Bausteine 122 Bedingungen 293 Bertrand Russell 193 Betriebssystemebene 122 Bezeichnungen 198 Beziehungen 198 Bibliotheken 135 BigDecimal 263 BigInteger 263 Blöcke 493 Booch 205 boolean 259 Build-Vorgang 136 Businessobjekte 208, 305 byte 260 Bytecode-Datei 98 C C 55, 60 C# 60 C++ 59, 61 CAD 59 CAD-System 122 CASE 54 Castings 24 catch 369 CDT 61 CeBIT 24 Chain of Responsibility 478 char 259 Child 131 class 196 ClassNotFoundException 456 Cobol 24, 59 Code Assistant 367 Codekomplettierung 64 Codekonventionen 475 Combobox 76 Compiler 53, 269 Component 252, 253 Computer 25 connect 543 Constructor Summary 270 Custom Setup-Dialog

57 Index CVS 65, 96 CVS-Sichten 131 D daemon 465 Dämon 47, 465 Darwin 195 Datei 144 Dateiaufbau 477 Dateiendungen 479 Dateiname 478 Datenbank 64, 509 Datenbank-Server 521 Datenbankzugriffe 539 Datendefinitionsabfrage 511 Datenkapselung 341 Datenkonstrukte 480 Datenquellenname 515 Datentypen 261 DbEdit 509 DBMS 521 DDL 512 Deaktivierung 116 debuggen 458 Debugger 55, 65, 127, 284 Dechriffrierung 26 Decompiler 43 default 273 Define 62 definiert 267 Definition 230 Deinstallation 90, 119 Deklarationen 490 deklariert 267 Design 62 Designpattern 479 Deutsch 105 Develop 62 Dialog 326 Dialogbox 46, 133, 208 Dialogfeld 249 DML 512 do-schleife 289 double 260 do-while 495 Drag-and-Drop 172 DVD-Player 25 E Early Binding 234 Ebenen 158 Eclipse starten 102 Editor verlinken 158 Editoren 123, 140 Eiffel 59 Eigenschaften 104, 196, 216, 248 Eingabeaufforderung 88 Einrückung 483 einzeiliger Kommentar 485 Emacs 53 Embeded System 29 Endemarke 485 Enigma 26 Enterprice Java Beans 73 entkoppeln 252 Entwicklerwerkzeug 122 Entwurfsansicht 510 Entwurfsmuster 326, 479, 546 Entzipper 99 erben 217, 253 erfassen 328 error-handling 368 Erscheinungen 193 erweitern 348, 352 EVA 328 Event-Behandlung 453 Exception 453, 455 Exception-Handling 456 exist 279, 282 External JARs 136 F Fachliteratur 37 Fall-Throughs 496 Fallunterscheidung 234 Fehlermeldung 249, 267, 458 Fehlersymbol 219, 250 Fenster 142 Fernsteuerung 29 Festplatte 99 Fields 255 final 269, 281 finalize 362 Flag 463 float

58 Index Formatierprogramm 476 for-schleifen 289, 494 Forth 50 Frame 365 Framework 49, 59, 122 frühe Bindung 234 funktionale Sprache 46 G Ganzzahl 46 Garbage-Collection 345 GByte 41 Gebäudesteuerung 25 gecastet 357 gelistete Attribute 314 Generalisation 219 Geschäftsobjekte 208, 209 getlength 46 getter-methoden 146, 453, 555 Green 29 Griechenland 193 Grundausstattung 306 Grundsystem 107 GUI 19 GUI-Applikationen 48 GUI-Builder 54 GUI-Klassen 252 H Hardware 98 Hardwarevoraussetzungen 70 Hauptteil 481 Haupt-Thread 461 Header-Datei 33 Hersteller 199 Hilfedatei 271 Hinweise 18 Historie 65, 482 Homepage 106 HotJava 30 HTML 25 I IBM 106 IDE 19, 53 Ideenlehre 193 IllegalThreadStateException 465 imperative Sprache 46 implementieren 253 importieren/exportieren 160 Index 246, 356 inner class 306 innere Klassen 308 Installation 69, 98 Installation von Plugins 110 Installationsprogramm 74 instanceof 557 Instanz 199 Instanziierung 34, 199, 222, 312, 338 Instanz-Initiatoren 469 int 258, 260 Interface 226, 251, 253, 500 InterruptedException 368 invoke 555 isdaemon 467 J J++ 60 Jacobson 205 Jar-Dateien 245 Java Web Start 70 Java-Compiler 45 Javadoc-Kommentar 481 Java-Handy 24 Java-Lebenslauf 30 Java-Oberflächen 252 Java-Pakete 203 Java-Perspektive 123, 539 Java-Story 29 Java-Trainer 89 JBuilder 54, 63 JDBC 539 JDBC-Aufrufe 541 JDK 69 JDK EE 71 JFace 58 JRE 69 JSP-Anwendungen 131 JVM 23 K Kaffeesorte 23 Key

59 Index Kfz 198 Klassen 258 Klassenbezeichnung 197 Klassendiagramm 303 Klassenkopf 257 Klassenkörper 313 Klassennamen 367, 478 Klassifizierung 228 Kommandozeilen-Programme 48 Kommentare 276, 307, 481 Kommunikation 286 komplexe Datentypen 258, 262 Komprimierung 307 Konfiguration 526 konkret 221 konkrete Klassen 251 Konsole 99 Konsolen-Ansicht 268 Konsortium 58 Konstanten 269, 501 Konstruktor 196, 214, 312, 551 Konstruktormethode 271 Konsumelektronik 29 Konventionen 475 Kunden 243 L Language-Pack 105 Late Binding 234 Latest Release 96 Laufvariablen 491 Lebenszyklus 477 Leerzeichen 498 Leerzeilen 496 Lesbarkeit 477 Libraries 69 Library 246 Linné 195 Linux 23, 263 Liste 264, 357 Literale 33 Lizenz 75 LMT 19 long 260 M main-methode 282, 309 Manage 62 Markierung 267 Maschinencode 27 Mathematik 35 mehrdeutig 543 mehrzeiliger Kommentar 485 Meldung 455 Menubar 142 Menüleiste 142 Menüs 125 Methoden 215, 251, 307, 501 Methodenkörper 236, 271 Methodik 132 Micro-Edition 73 Middleware 540 Mikroprozessor 41 Milestones 95 Millisekunden 463 Modell 199, 545 Model-View-Controller 326 Müllbeseitigung 345 Multithreading 460 MVC-Prinzip 478 MySQL 524, 525 N Nachrichten 216, 255 Namenskonventionen 499 Navigatorview 158 navigieren 153 neuronale Netze 47 new 310 Nomenklatur 195 null 311 NumberFormatException 454 O Oak 29 Oberklassen 198 Object 331 Object-relational mapping 541 Objekt 194, 196 objektorientierte Sprache 28 Objektvariablen

60 Index ODBC-Bridge 543 ODBC-Verbindung 515 offene Attribute 314 Office-System 122 OMG 205 OOP 19, 232, 326 Open Source 37, 58 Operationen 198, 216 Operatoren 34 Ordner 202 OTI 56 P Package Explorer 337, 356 Paket 246, 363 Paket-Explorer 202 Paketstrukturen 245 Paradigma 195 Parameter 343 parseint 454 PDA 73 Perl 59, 60 Perspectives 123 Perspektive öffnen 140 schließen 142 zurücksetzen 142 Perspektiven 123 Pfade 136 Phasenmodell 303 PHP 59 PL/1 24 Plato 193 Plattformunabhängigkeit 45 Plugin 47, 56 Polymorphie 337 Polymorphismus 232 PowerPC 23 primitive Datentypen 258, 259 println 33, 361 private 212, 229, 273, 329 Programmautoren 342 Programmiersprache erlernen 49 Programmierung ohne Eclipse 87 Projekt 64, 133, 154 Projektdesign 304 Projekte löschen 138 Projektname 128, 245 Projektverwaltung 64 proprietäre Sprache 28 protected 273 Protokollname 543 Prozedur 234 prozedurale Programmierung 244 prozedurale Sprache 28 public 273 Python 59 Q QNX 59 Qualifizierung 311 Quellcode 27, 53, 306, 486 Quelle 146 Quelle-Registerkarte 135 Quick C 55 R rational 57 Rechenoperationen 351 Redundanzen 227, 341 Refactoring 147 Refection-Klassen 341 referenzieren 343, 350 Registerleisten 169 relationale Datenbanken 509 Relationen 513 resume 463 RMT 19 Ruby 60 Rückgabewerte 503 Rumbaugh 205 run 461 Runnable 461 Runtime Environment 90 S SAP 58 Schleife 288, 357 schließende Klammer 255 Schlüsselwörter 33 Scrapbook-Page 309 Scrapbook-Seite 127, 264 screensize 367 SE

61 Index Seiteneffekte 488 Semantik 33 Semikolon 236 SEQUEL 509 Serializable 226 Servlets 131 setlength 46 setlocation 367 Setter 146, 453 Setup 74 SGML 25 short 260 Shortcuts 124 Sicht 327 Sichtbarkeit 274 Sichten 123 Signal 454 Signalwerfen 454 Signatur 271, 345 Singleton 546 sleep 368 Smalltalk 56, 127 Smalltalk Snippet-Editor 127, 264 Softwareobjekt 196, 243 Softwarewelt 24 Sonderausstattung 306 Spaltennamen 510, 556 späte Bindung 234 Speicher 256 Speicherbereinigung 345 Spezialisierung 219 Splash-Screen 339, 364 Sprachinstallation 106 SQL 509 SQL-Befehle 529 SQL-Statements 541 Squeak 32 Stacks 264 Standardkonstruktor 349 Startmarke 485 static 270, 281 Statusbar 169 steuern 328 Steuerung 326 stop 463 Stream Stable Builds 96 String 128, 262 Subjekte 194 Subklassen 198 Sun 23 Sun World 30 Sun-Workstation 23 super 220 Superklasse 198, 248, 313, 348 suspend 463 Swing 58 switch 495 Symbole 204 Symbolleiste 125 synchron 327 Syntax 30 Sysouts 455 T Tabelle 510, 556 Tabellenkalkulation 122 Tastenkürzel 123, 162 Team 160 Test 62, 309 Texteditor 162, 246 Textverarbeitung 59, 122 Thread 263, 368 throw 455 throwable 455 tostring 261 Treiber 542 try 369 try-catch 453 Try-catch-Block 147, 456 Turing-Maschine 26 Turing-Test 26 Tutorials 104 Typstrenge 340 U überladen 348, 350, 361 überschreiben 252, 348 UML 19, 243 UML-Diagramme 199 Umwandlung in eine Zahl 453 Undo 65 UNICODE 351 Unified Modeling Language 204 Unikat 194 Unterfenster

62 Index Unterklasse 233, 348 untersuchen 277 URL 19 usecases 205 V Variablen 255, 501 VBA-Routinen 47 Verbindung 544 Vererbung 195, 229, 337 Vererbungspfeil 230 Verknüpfungslinie 515 Versionen 95, 190 Verteilte Anwendungen 48 Verzeichnisse 136 Verzeichnisstruktur 203 Views 123 View-Verzeichnis 135 visibility 276 VM 19 void 282 Von-Neumann-Rechner 42 Vorgehensmodell 304 W wapperklassen 261 Wartung 477 Webseite 79 Werkbank 123 while-schleife 289, 495 Windows 122 Windows Workbench 123 Workspace 104 Wrapperklassen 35 X XML 25, 69 Z Zahlenformatausnahme 454 Zeichenkette 35 Zugriff 349 Zusicherungen 217 Zuständigkeitskette 478 Zuweisungen

Java 6 lernen mit Eclipse

Java 6 lernen mit Eclipse Gottfried Wolmeringer Java 6 lernen mit Eclipse Galileo Press Danksagung 15 Vorwort 17 Hinweise zur Benutzung des Buches 18 Learning by Doing 19 TEIL I Grundlagen 1.1 Warumprogrammieren? 23 1.2 Was ist

Mehr

Wolmerin; Java lernen y. mit Eclipse 3. Galileo Computing

Wolmerin; Java lernen y. mit Eclipse 3. Galileo Computing Wolmerin; Java lernen y mit Eclipse 3 Galileo Computing Inhalt Vorwort 13 Hinweise 15 Teil I Grundwissen und Installation 19 1 Was ist Java? 21 1.1 Warum programmieren? 23 1.2 Was ist eine Programmiersprache?

Mehr

Es sollte die MS-DOS Eingabeaufforderung starten. Geben Sie nun den Befehl javac ein.

Es sollte die MS-DOS Eingabeaufforderung starten. Geben Sie nun den Befehl javac ein. Schritt 1: Installation des Javacompilers JDK. Der erste Start mit Eclipse Bevor Sie den Java-Compiler installieren sollten Sie sich vergewissern, ob er eventuell schon installiert ist. Gehen sie wie folgt

Mehr

4. BEZIEHUNGEN ZWISCHEN TABELLEN

4. BEZIEHUNGEN ZWISCHEN TABELLEN 4. BEZIEHUNGEN ZWISCHEN TABELLEN Zwischen Tabellen können in MS Access Beziehungen bestehen. Durch das Verwenden von Tabellen, die zueinander in Beziehung stehen, können Sie Folgendes erreichen: Die Größe

Mehr

Wichtige Hinweise zu den neuen Orientierungshilfen der Architekten-/Objektplanerverträge

Wichtige Hinweise zu den neuen Orientierungshilfen der Architekten-/Objektplanerverträge Wichtige Hinweise zu den neuen Orientierungshilfen der Architekten-/Objektplanerverträge Ab der Version forma 5.5 handelt es sich bei den Orientierungshilfen der Architekten-/Objektplanerverträge nicht

Mehr

! " # $ " % & Nicki Wruck worldwidewruck 08.02.2006

!  # $  % & Nicki Wruck worldwidewruck 08.02.2006 !"# $ " %& Nicki Wruck worldwidewruck 08.02.2006 Wer kennt die Problematik nicht? Die.pst Datei von Outlook wird unübersichtlich groß, das Starten und Beenden dauert immer länger. Hat man dann noch die.pst

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

Einstellungen im Internet-Explorer (IE) (Stand 11/2013) für die Arbeit mit IOS2000 und DIALOG

Einstellungen im Internet-Explorer (IE) (Stand 11/2013) für die Arbeit mit IOS2000 und DIALOG Einstellungen im Internet-Explorer (IE) (Stand 11/2013) für die Arbeit mit IOS2000 und DIALOG Um mit IOS2000/DIALOG arbeiten zu können, benötigen Sie einen Webbrowser. Zurzeit unterstützen wir ausschließlich

Mehr

Er musste so eingerichtet werden, dass das D-Laufwerk auf das E-Laufwerk gespiegelt

Er musste so eingerichtet werden, dass das D-Laufwerk auf das E-Laufwerk gespiegelt Inhaltsverzeichnis Aufgabe... 1 Allgemein... 1 Active Directory... 1 Konfiguration... 2 Benutzer erstellen... 3 Eigenes Verzeichnis erstellen... 3 Benutzerkonto erstellen... 3 Profil einrichten... 5 Berechtigungen

Mehr

In diesem Thema lernen wir die Grundlagen der Datenbanken kennen und werden diese lernen einzusetzen. Access. Die Grundlagen der Datenbanken.

In diesem Thema lernen wir die Grundlagen der Datenbanken kennen und werden diese lernen einzusetzen. Access. Die Grundlagen der Datenbanken. In diesem Thema lernen wir die Grundlagen der Datenbanken kennen und werden diese lernen einzusetzen. Access Die Grundlagen der Datenbanken kurspc15 Inhaltsverzeichnis Access... Fehler! Textmarke nicht

Mehr

Artikel Schnittstelle über CSV

Artikel Schnittstelle über CSV Artikel Schnittstelle über CSV Sie können Artikeldaten aus Ihrem EDV System in das NCFOX importieren, dies geschieht durch eine CSV Schnittstelle. Dies hat mehrere Vorteile: Zeitersparnis, die Karteikarte

Mehr

Einrichten einer Festplatte mit FDISK unter Windows 95/98/98SE/Me

Einrichten einer Festplatte mit FDISK unter Windows 95/98/98SE/Me Einrichten einer Festplatte mit FDISK unter Windows 95/98/98SE/Me Bevor Sie die Platte zum ersten Mal benutzen können, muss sie noch partitioniert und formatiert werden! Vorher zeigt sich die Festplatte

Mehr

Einrichtung des Cisco VPN Clients (IPSEC) in Windows7

Einrichtung des Cisco VPN Clients (IPSEC) in Windows7 Einrichtung des Cisco VPN Clients (IPSEC) in Windows7 Diese Verbindung muss einmalig eingerichtet werden und wird benötigt, um den Zugriff vom privaten Rechner oder der Workstation im Home Office über

Mehr

Informatik I Tutorial

Informatik I Tutorial ETH Zürich, D-INFK/D-BAUG Herbstsemester 2015 Dr. Martin Hirt Daniel Jost Informatik I Tutorial Dieses Tutorial hat zum Ziel, die notwendigen Tools auf dem eigenen Computer zu installieren, so dass ihr

Mehr

2. ERSTELLEN VON APPS MIT DEM ADT PLUGIN VON ECLIPSE

2. ERSTELLEN VON APPS MIT DEM ADT PLUGIN VON ECLIPSE 2. ERSTELLEN VON APPS MIT DEM ADT PLUGIN VON ECLIPSE 2.1 Die Einrichtung der Benutzeroberfläche Das Einrichten einer Android-Eclipse-Entwicklungsumgebung zur Android-Entwicklung ist grundsätzlich nicht

Mehr

25 Import der Beispiele

25 Import der Beispiele 25 Import der Beispiele Versuch es nicht mit Gewalt. Nimm einfach einen größeren Hammer (Murphy s Law) 25.1 Einleitung Alle Beispielprogramme dieses Buchs funktionieren mit jeder Java-konformen Entwicklungsumgebung.

Mehr

Anleitung zur Erstellung einer Batchdatei. - für das automatisierte Verbinden mit Netzlaufwerken beim Systemstart -

Anleitung zur Erstellung einer Batchdatei. - für das automatisierte Verbinden mit Netzlaufwerken beim Systemstart - Anleitung zur Erstellung einer Batchdatei - für das automatisierte Verbinden mit Netzlaufwerken beim Systemstart - Mögliche Anwendungen für Batchdateien: - Mit jedem Systemstart vordefinierte Netzlaufwerke

Mehr

Dokumentation: Balanced Scorecard

Dokumentation: Balanced Scorecard Dokumentation: Balanced Scorecard 1. Einleitung Eine Balanced Scorecard (BSC) ist eine kennzahlenbasierte Managementmethode, welche sowohl Visionen als auch Strategien eines Unternehmens und relevante

Mehr

Installationsanleitung CLX.PayMaker Home

Installationsanleitung CLX.PayMaker Home Installationsanleitung CLX.PayMaker Home Inhaltsverzeichnis 1. Installation und Datenübernahme... 2 2. Erste Schritte Verbindung zur Bank einrichten und Kontoinformationen beziehen... 4 3. Einrichtung

Mehr

Windows. Workshop Internet-Explorer: Arbeiten mit Favoriten, Teil 1

Windows. Workshop Internet-Explorer: Arbeiten mit Favoriten, Teil 1 Workshop Internet-Explorer: Arbeiten mit Favoriten, Teil 1 Wenn der Name nicht gerade www.buch.de oder www.bmw.de heißt, sind Internetadressen oft schwer zu merken Deshalb ist es sinnvoll, die Adressen

Mehr

Netzwerk einrichten unter Windows

Netzwerk einrichten unter Windows Netzwerk einrichten unter Windows Schnell und einfach ein Netzwerk einrichten unter Windows. Kaum ein Rechner kommt heute mehr ohne Netzwerkverbindungen aus. In jedem Rechner den man heute kauft ist eine

Mehr

Wie halte ich Ordnung auf meiner Festplatte?

Wie halte ich Ordnung auf meiner Festplatte? Wie halte ich Ordnung auf meiner Festplatte? Was hältst du von folgender Ordnung? Du hast zu Hause einen Schrank. Alles was dir im Wege ist, Zeitungen, Briefe, schmutzige Wäsche, Essensreste, Küchenabfälle,

Mehr

Einführung in Eclipse und Java

Einführung in Eclipse und Java Universität Bayreuth Lehrstuhl für Angewandte Informatik IV Datenbanken und Informationssysteme Prof. Dr.-Ing. Jablonski Einführung in Eclipse und Java Dipl.Inf. Manuel Götz Lehrstuhl für Angewandte Informatik

Mehr

Die Dateiablage Der Weg zur Dateiablage

Die Dateiablage Der Weg zur Dateiablage Die Dateiablage In Ihrem Privatbereich haben Sie die Möglichkeit, Dateien verschiedener Formate abzulegen, zu sortieren, zu archivieren und in andere Dateiablagen der Plattform zu kopieren. In den Gruppen

Mehr

Informatik 1 Tutorial

Informatik 1 Tutorial ETH Zürich, D-INFK/D-BAUG Herbstsemester 2014 Dr. Martin Hirt Christian Badertscher Informatik 1 Tutorial Dieses Tutorial hat zum Ziel, die notwendigen Tools auf dem eigenen Computer zu installieren, so

Mehr

Leitfaden zur ersten Nutzung der R FOM Portable-Version für Windows (Version 1.0)

Leitfaden zur ersten Nutzung der R FOM Portable-Version für Windows (Version 1.0) Leitfaden zur ersten Nutzung der R FOM Portable-Version für Windows (Version 1.0) Peter Koos 03. Dezember 2015 0 Inhaltsverzeichnis 1 Voraussetzung... 3 2 Hintergrundinformationen... 3 2.1 Installationsarten...

Mehr

Anleitung zum erfassen von Last Minute Angeboten und Stellenangebote

Anleitung zum erfassen von Last Minute Angeboten und Stellenangebote Anleitung zum erfassen von Last Minute Angeboten und Stellenangebote Zweck dieser Anleitung ist es einen kleinen Überblick über die Funktion Last Minute auf Swisshotelportal zu erhalten. Für das erstellen

Mehr

VB.net Programmierung und Beispielprogramm für GSV

VB.net Programmierung und Beispielprogramm für GSV VB.net Programmierung und Beispielprogramm für GSV Dokumentation Stand vom 26.05.2011 Tel +49 (0)3302 78620 60, Fax +49 (0)3302 78620 69, [email protected], www.me-systeme.de 1 Inhaltsverzeichnis Vorwort...2

Mehr

Warum beschäftigt sich ein Linux-Systemhaus mit der Installation von OTRS mit einem Microsoft SQL Server?

Warum beschäftigt sich ein Linux-Systemhaus mit der Installation von OTRS mit einem Microsoft SQL Server? Vorbemerkung Warum beschäftigt sich ein Linux-Systemhaus mit der Installation von OTRS mit einem Microsoft SQL Server? Da wir schon seit einigen Jahren mit OTRS arbeiteten, hat uns ein Kunde beauftragt,

Mehr

Meldung Lokale Anwendung inkompatibel oder Microsoft Silverlight ist nicht aktuell bei Anmeldung an lokal gespeicherter RWE SmartHome Anwendung

Meldung Lokale Anwendung inkompatibel oder Microsoft Silverlight ist nicht aktuell bei Anmeldung an lokal gespeicherter RWE SmartHome Anwendung Meldung Lokale Anwendung inkompatibel oder Microsoft Silverlight ist nicht aktuell bei Anmeldung an lokal gespeicherter RWE SmartHome Anwendung Nach dem Update auf die Version 1.70 bekommen Sie eine Fehlermeldung,

Mehr

Installationsanleitungen

Installationsanleitungen Installationsanleitungen INPA SGBD-Entwicklungsumgebung (EDIABAS) INPA für Entwickler Bevor Sie EDIABAS / INPA installieren können, müssen Sie sich für den Ordner sgref auf smuc0900 freischalten lassen.

Mehr

ODBC-Treiber 1. 1.1 Programmübersicht

ODBC-Treiber 1. 1.1 Programmübersicht 1 O D B C - Treiber ODBC-Treiber 1 1.1 Programmübersicht Nach einer ausgiebigen Testphase wurde kürzlich der neue ODBC-Treiber freigegeben. Dieser ist somit ab der 2000-er-Version lizenzpflichtig und kann

Mehr

2. Einrichtung der ODBC-Schnittstelle aus orgamax (für 32-bit-Anwendungen)

2. Einrichtung der ODBC-Schnittstelle aus orgamax (für 32-bit-Anwendungen) 1. Einführung: Über den ODBC-Zugriff können Sie bestimmte Daten aus Ihren orgamax-mandanten in anderen Anwendungen (beispielsweise Microsoft Excel oder Microsoft Access) einlesen. Dies bietet sich beispielsweise

Mehr

Inhalt. 1 Einleitung AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER

Inhalt. 1 Einleitung AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER Inhalt 1 Einleitung... 1 2 Einrichtung der Aufgabe für die automatische Sicherung... 2 2.1 Die Aufgabenplanung... 2 2.2 Der erste Testlauf... 9 3 Problembehebung...

Mehr

Durchführung der Datenübernahme nach Reisekosten 2011

Durchführung der Datenübernahme nach Reisekosten 2011 Durchführung der Datenübernahme nach Reisekosten 2011 1. Starten Sie QuickSteuer Deluxe 2010. Rufen Sie anschließend über den Menüpunkt /Extras/Reisekosten Rechner den QuickSteuer Deluxe 2010 Reisekosten-Rechner,

Mehr

TeamSpeak3 Einrichten

TeamSpeak3 Einrichten TeamSpeak3 Einrichten Version 1.0.3 24. April 2012 StreamPlus UG Es ist untersagt dieses Dokument ohne eine schriftliche Genehmigung der StreamPlus UG vollständig oder auszugsweise zu reproduzieren, vervielfältigen

Mehr

Installation von NetBeans inkl. Glassfish Anwendungs-Server

Installation von NetBeans inkl. Glassfish Anwendungs-Server Installation von NetBeans inkl. Glassfish Anwendungs-Server Diese Anleitung führt Sie Schritt für Schritt durch die Einrichtung der Entwicklungsumgebung NetBeans, angefangen beim Download der benötigten

Mehr

Installation und Inbetriebnahme von Microsoft Visual C++ 2010 Express

Installation und Inbetriebnahme von Microsoft Visual C++ 2010 Express Howto Installation und Inbetriebnahme von Microsoft Visual C++ 2010 Express Peter Bitterlich Markus Langer 12. Oktober 2012 Zusammenfassung Dieses Dokument erklärt Schritt für Schritt die Installation

Mehr

Installationsanleitung CLX.PayMaker Office

Installationsanleitung CLX.PayMaker Office Installationsanleitung CLX.PayMaker Office Inhaltsverzeichnis 1. Installation und Datenübernahme... 2 2. Erste Schritte Verbindung zur Bank einrichten und Kontoinformationen beziehen... 4 3. Einrichtung

Mehr

SICHERN DER FAVORITEN

SICHERN DER FAVORITEN Seite 1 von 7 SICHERN DER FAVORITEN Eine Anleitung zum Sichern der eigenen Favoriten zur Verfügung gestellt durch: ZID Dezentrale Systeme März 2010 Seite 2 von 7 Für die Datensicherheit ist bekanntlich

Mehr

OP-LOG www.op-log.de

OP-LOG www.op-log.de Verwendung von Microsoft SQL Server, Seite 1/18 OP-LOG www.op-log.de Anleitung: Verwendung von Microsoft SQL Server 2005 Stand Mai 2010 1 Ich-lese-keine-Anleitungen 'Verwendung von Microsoft SQL Server

Mehr

1 Konto für HBCI/FinTS mit Chipkarte einrichten

1 Konto für HBCI/FinTS mit Chipkarte einrichten 1 Konto für HBCI/FinTS mit Chipkarte einrichten Um das Verfahren HBCI/FinTS mit Chipkarte einzusetzen, benötigen Sie einen Chipkartenleser und eine Chipkarte. Die Chipkarte erhalten Sie von Ihrem Kreditinstitut.

Mehr

Newsletter. 1 Erzbistum Köln Newsletter

Newsletter. 1 Erzbistum Köln Newsletter Newsletter 1 Erzbistum Köln Newsletter Inhalt 1. Newsletter verwalten... 3 Schritt 1: Administration... 3 Schritt 2: Newsletter Verwaltung... 3 Schritt 3: Schaltflächen... 3 Schritt 3.1: Abonnenten Verwaltung...

Mehr

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster Es gibt in Excel unter anderem die so genannten Suchfunktionen / Matrixfunktionen Damit können Sie Werte innerhalb eines bestimmten Bereichs suchen. Als Beispiel möchte ich die Funktion Sverweis zeigen.

Mehr

Installation des Zertifikats. Installationsanleitung für Zertifikate zur Nutzung des ISBJ Trägerportals

Installation des Zertifikats. Installationsanleitung für Zertifikate zur Nutzung des ISBJ Trägerportals Installationsanleitung für Zertifikate zur Nutzung des ISBJ Trägerportals 1 43 Inhaltsverzeichnis Einleitung... 3 Microsoft Internet Explorer... 4 Mozilla Firefox... 13 Google Chrome... 23 Opera... 32

Mehr

Anleitung zur Installation und Verwendung von eclipseuml 2.1.0

Anleitung zur Installation und Verwendung von eclipseuml 2.1.0 Anleitung zur Installation und Verwendung von eclipseuml 2.1.0 In dieser Anleitung wird die Installation und Verwendung von Omodo eclipseuml 2.1.0 beschrieben. eclipseuml ist eine Zusatzsoftware für Eclipse,

Mehr

Installationsanleitung

Installationsanleitung Idee und Umsetzung Lars Lakomski Version 4.0 Installationsanleitung Um Bistro-Cash benutzen zu können, muss auf dem PC-System (Windows 2000 oder Windows XP), wo die Kassensoftware zum Einsatz kommen soll,

Mehr

Objektorientierte Programmierung für Anfänger am Beispiel PHP

Objektorientierte Programmierung für Anfänger am Beispiel PHP Objektorientierte Programmierung für Anfänger am Beispiel PHP Johannes Mittendorfer http://jmittendorfer.hostingsociety.com 19. August 2012 Abstract Dieses Dokument soll die Vorteile der objektorientierten

Mehr

Nach der Anmeldung im Backend Bereich landen Sie im Kontrollzentrum, welches so aussieht:

Nach der Anmeldung im Backend Bereich landen Sie im Kontrollzentrum, welches so aussieht: Beiträge erstellen in Joomla Nach der Anmeldung im Backend Bereich landen Sie im Kontrollzentrum, welches so aussieht: Abbildung 1 - Kontrollzentrum Von hier aus kann man zu verschiedene Einstellungen

Mehr

Ordnung auf/im (Win-)PC bzw. der Festplatte

Ordnung auf/im (Win-)PC bzw. der Festplatte Ordnung auf/im (Win-)PC bzw. der Festplatte Ein Versuch da was zu (er)klären von Uwe Troll Vorbemerkung: Alles was später hier gezeigt wird, wird auf Ihrem PC anders aussehen! Das Prinzip bleibt aber gleich.

Mehr

Aber mancher braucht diese Funktionalität halt, doch wo ist sie unter Windows 8 zu finden?

Aber mancher braucht diese Funktionalität halt, doch wo ist sie unter Windows 8 zu finden? Windows 8 - Tipps 1. Versteckte Dateien und Ordner anzeigen Wie auch bei den Vorgängerversionen blendet Windows 8 geschützte und versteckte Dateien zunächst aus. Wer nicht direkt etwas mit dieser Materie

Mehr

Speichern. Speichern unter

Speichern. Speichern unter Speichern Speichern unter Speichern Auf einem PC wird ständig gespeichert. Von der Festplatte in den Arbeitspeicher und zurück Beim Download Beim Kopieren Beim Aufruf eines Programms Beim Löschen Beim

Mehr

Wählen Sie bitte START EINSTELLUNGEN SYSTEMSTEUERUNG VERWALTUNG und Sie erhalten unter Windows 2000 die folgende Darstellung:

Wählen Sie bitte START EINSTELLUNGEN SYSTEMSTEUERUNG VERWALTUNG und Sie erhalten unter Windows 2000 die folgende Darstellung: Installation Bevor Sie mit der Installation von MOVIDO 1.0 beginnen, sollten Sie sich vergewissern, dass der Internet Information Server (IIS) von Microsoft installiert ist. Um dies festzustellen, führen

Mehr

Windows 10 > Fragen über Fragen

Windows 10 > Fragen über Fragen www.computeria-olten.ch Monatstreff für Menschen ab 50 Merkblatt 103 Windows 10 > Fragen über Fragen Was ist das? Muss ich dieses Upgrade machen? Was bringt mir das neue Programm? Wie / wann muss ich es

Mehr

Starten der Software unter Windows 7

Starten der Software unter Windows 7 Starten der Software unter Windows 7 Im Folgenden wird Ihnen Schritt für Schritt erklärt, wie Sie Ihr persönliches CONTOUR NEXT USB auf dem Betriebssystem Ihrer Wahl starten und benutzen. Schritt 1. Stecken

Mehr

Mediator 9 - Lernprogramm

Mediator 9 - Lernprogramm Mediator 9 - Lernprogramm Ein Lernprogramm mit Mediator erstellen Mediator 9 bietet viele Möglichkeiten, CBT-Module (Computer Based Training = Computerunterstütztes Lernen) zu erstellen, z. B. Drag & Drop

Mehr

Diese Ansicht erhalten Sie nach der erfolgreichen Anmeldung bei Wordpress.

Diese Ansicht erhalten Sie nach der erfolgreichen Anmeldung bei Wordpress. Anmeldung http://www.ihredomain.de/wp-admin Dashboard Diese Ansicht erhalten Sie nach der erfolgreichen Anmeldung bei Wordpress. Das Dashboard gibt Ihnen eine kurze Übersicht, z.b. Anzahl der Beiträge,

Mehr

Information zum SQL Server: Installieren und deinstallieren. (Stand: September 2012)

Information zum SQL Server: Installieren und deinstallieren. (Stand: September 2012) Information zum SQL Server: Installieren und deinstallieren (Stand: September 2012) Um pulsmagic nutzen zu können, wird eine SQL-Server-Datenbank benötigt. Im Rahmen der Installation von pulsmagic wird

Mehr

Microsoft Dynamics NAV 2013 R/2 Installationsanleitung. Inhalt: Begleitmaterial des ERP Übungsbuchs:

Microsoft Dynamics NAV 2013 R/2 Installationsanleitung. Inhalt: Begleitmaterial des ERP Übungsbuchs: Begleitmaterial des ERP Übungsbuchs: Arbeiten mit den Windows Client von Microsoft Dynamics NAV 2013 R/2 Microsoft Dynamics NAV 2013 R/2 Installationsanleitung Inhalt: 0.1 Installation von Microsoft Dynamics

Mehr

QTTabBar Einrichtung, ein Tutorial

QTTabBar Einrichtung, ein Tutorial QTTabBar Einrichtung, ein Tutorial Von Heiko Schulze Eines der ganz entscheidenden Dinge, das im Explorer fehlt ist das tabunterstützte Navigieren. Dafür gibt es bereits seit Jahren die QTTabBar. Sie wurde

Mehr

Suche schlecht beschriftete Bilder mit Eigenen Abfragen

Suche schlecht beschriftete Bilder mit Eigenen Abfragen Suche schlecht beschriftete Bilder mit Eigenen Abfragen Ist die Bilderdatenbank über einen längeren Zeitraum in Benutzung, so steigt die Wahrscheinlichkeit für schlecht beschriftete Bilder 1. Insbesondere

Mehr

Updatehinweise für die Version forma 5.5.5

Updatehinweise für die Version forma 5.5.5 Updatehinweise für die Version forma 5.5.5 Seit der Version forma 5.5.0 aus 2012 gibt es nur noch eine Office-Version und keine StandAlone-Version mehr. Wenn Sie noch mit der alten Version forma 5.0.x

Mehr

Firefox: Die Lesezeichen im Griff

Firefox: Die Lesezeichen im Griff Firefox: Die Lesezeichen im Griff Die Favoriten im Internet Explorer sind eine Lachnummer gegen die Lesezeichen im Firefox. Eingetippte Schlagworte reichen, um sie aufzurufen. Außerdem können ganze Befehlsfolgen

Mehr

Drägerware.ZMS/FLORIX Hessen

Drägerware.ZMS/FLORIX Hessen Erneuerung des ZMS Nutzungs-Zertifikats Lübeck, 11.03.2010 Zum Ende des Monats März 2010 werden die Zugriffszertifikate von Drägerware.ZMS/FLORIX Hessen ungültig. Damit die Anwendung weiter genutzt werden

Mehr

Neue Schriftarten installieren

Neue Schriftarten installieren .DIE Neue Schriftarten installieren Die Informationen zu jeder Schriftart (Font) sind in jeweils einer Datei untergebracht, der sog. Font-Datei mit der Endung.ttf ttf steht für True Type Font und bedeutet,

Mehr

Arbeiten mit dem Outlook Add-In

Arbeiten mit dem Outlook Add-In Arbeiten mit dem Outlook Add-In Das Outlook Add-In ermöglicht Ihnen das Speichern von Emails im Aktenlebenslauf einer Akte. Außerdem können Sie Namen direkt aus BS in Ihre Outlook-Kontakte übernehmen sowie

Mehr

Informationen zur Verwendung von Visual Studio und cmake

Informationen zur Verwendung von Visual Studio und cmake Inhaltsverzeichnis Informationen zur Verwendung von Visual Studio und cmake... 2 Erste Schritte mit Visual Studio... 2 Einstellungen für Visual Studio 2013... 2 Nutzung von cmake... 6 Installation von

Mehr

Kurzanleitung. Einstieg in die TripleCard Profi-Software. Zeiterfassungs- Software für. TripleCard Terminal

Kurzanleitung. Einstieg in die TripleCard Profi-Software. Zeiterfassungs- Software für. TripleCard Terminal Kurzanleitung Einstieg in die TripleCard Profi-Software Zeiterfassungs- Software für TripleCard Terminal 2000 Towitoko AG Windows 3.11 Windows 95/98 Windows NT Windows 2000 So installieren Sie die TripleCard

Mehr

KURZANLEITUNG CLOUD OBJECT STORAGE

KURZANLEITUNG CLOUD OBJECT STORAGE KURZANLEITUNG CLOUD OBJECT STORAGE Version 1.12 01.07.2014 SEITE _ 2 INHALTSVERZEICHNIS 1. Einleitung... Seite 03 2. Anmelden am Cloud&Heat Dashboard... Seite 04 3. Anlegen eines Containers... Seite 05

Mehr

Beispiel Shop-Eintrag Ladenlokal & Online-Shop im Verzeichnis www.wir-lieben-shops.de 1

Beispiel Shop-Eintrag Ladenlokal & Online-Shop im Verzeichnis www.wir-lieben-shops.de 1 Beispiel Shop-Eintrag Ladenlokal & Online-Shop. Als Händler haben Sie beim Shop-Verzeichnis wir-lieben-shops.de die Möglichkeit einen oder mehrere Shop- Einträge zu erstellen. Es gibt 3 verschiedene Typen

Mehr

Arbeiten mit UMLed und Delphi

Arbeiten mit UMLed und Delphi Arbeiten mit UMLed und Delphi Diese Anleitung soll zeigen, wie man Klassen mit dem UML ( Unified Modeling Language ) Editor UMLed erstellt, in Delphi exportiert und dort so einbindet, dass diese (bis auf

Mehr

KURZANLEITUNG CYBERDUCK MIT CLOUD OBJECT STORAGE

KURZANLEITUNG CYBERDUCK MIT CLOUD OBJECT STORAGE KURZANLEITUNG CYBERDUCK MIT CLOUD OBJECT STORAGE Version 1.12 01.07.2014 SEITE _ 2 INHALTSVERZEICHNIS 1. Einleitung...Seite 03 2. Zugriff auf Cloud Object Storage mit Cyberduck...Seite 04 3. Neuen Container

Mehr

Bauteilattribute als Sachdaten anzeigen

Bauteilattribute als Sachdaten anzeigen Mit den speedikon Attributfiltern können Sie die speedikon Attribute eines Bauteils als MicroStation Sachdaten an die Elemente anhängen Inhalte Was ist ein speedikon Attribut?... 3 Eigene Attribute vergeben...

Mehr

Die Verwendung von Office 365

Die Verwendung von Office 365 Die Verwendung von Office 365 Jede Schülerin und jeder Schüler sowie jede Lehrerin und jeder Lehrer unserer Schule erhält ein Office 365 Konto. Dieses Konto bietet die Möglichkeit das Emailsystem von Office

Mehr

1 Dokumentenmanagement

1 Dokumentenmanagement 1 Dokumentenmanagement Das Dokumentenmanagement des GV Büro-System ist ein äußerst leistungsfähiges und mächtiges Tool. Es ist in der Lage, nahezu sämtliche Arten von Dokumenten auf einfache Art und Weise

Mehr

Verschlüsseln Sie Ihre Dateien lückenlos Verwenden Sie TrueCrypt, um Ihre Daten zu schützen.

Verschlüsseln Sie Ihre Dateien lückenlos Verwenden Sie TrueCrypt, um Ihre Daten zu schützen. HACK #39 Hack Verschlüsseln Sie Ihre Dateien lückenlos Verwenden Sie TrueCrypt, um Ihre Daten zu schützen.»verschlüsseln Sie Ihren Temp-Ordner«[Hack #33] hat Ihnen gezeigt, wie Sie Ihre Dateien mithilfe

Mehr

Facebook I-Frame Tabs mit Papoo Plugin erstellen und verwalten

Facebook I-Frame Tabs mit Papoo Plugin erstellen und verwalten Facebook I-Frame Tabs mit Papoo Plugin erstellen und verwalten Seit Anfang Juni 2012 hat Facebook die Static FBML Reiter deaktiviert, so wird es relativ schwierig für Firmenseiten eigene Impressumsreiter

Mehr

Zwischenablage (Bilder, Texte,...)

Zwischenablage (Bilder, Texte,...) Zwischenablage was ist das? Informationen über. die Bedeutung der Windows-Zwischenablage Kopieren und Einfügen mit der Zwischenablage Vermeiden von Fehlern beim Arbeiten mit der Zwischenablage Bei diesen

Mehr

Installation und Sicherung von AdmiCash mit airbackup

Installation und Sicherung von AdmiCash mit airbackup Installation und Sicherung von AdmiCash mit airbackup airbackup airbackup ist eine komfortable, externe Datensicherungslösung, welche verschiedene Funktionen zur Sicherung, sowie im Falle eines Datenverlustes,

Mehr

CSS-Grundlagen. Etwas über Browser. Kapitel. Die Vorbereitung

CSS-Grundlagen. Etwas über Browser. Kapitel. Die Vorbereitung Kapitel 1 Die Vorbereitung Vorgängerversionen. Bald darauf folgte dann schon die Version 4, die mit einer kleinen Bearbeitung bis vor Kurzem 15 Jahre unverändert gültig war. All das, was du die letzten

Mehr

Step by Step Webserver unter Windows Server 2003. von Christian Bartl

Step by Step Webserver unter Windows Server 2003. von Christian Bartl Step by Step Webserver unter Windows Server 2003 von Webserver unter Windows Server 2003 Um den WWW-Server-Dienst IIS (Internet Information Service) zu nutzen muss dieser zunächst installiert werden (wird

Mehr

NetStream Helpdesk-Online. Verwalten und erstellen Sie Ihre eigenen Tickets

NetStream Helpdesk-Online. Verwalten und erstellen Sie Ihre eigenen Tickets Verwalten und erstellen Sie Ihre eigenen Tickets NetStream GmbH 2014 Was ist NetStream Helpdesk-Online? NetStream Helpdesk-Online ist ein professionelles Support-Tool, mit dem Sie alle Ihre Support-Anfragen

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

S TAND N OVEMBE R 2012 HANDBUCH DUDLE.ELK-WUE.DE T E R M I N A B S P R A C H E N I N D E R L A N D E S K I R C H E

S TAND N OVEMBE R 2012 HANDBUCH DUDLE.ELK-WUE.DE T E R M I N A B S P R A C H E N I N D E R L A N D E S K I R C H E S TAND N OVEMBE R 2012 HANDBUCH T E R M I N A B S P R A C H E N I N D E R L A N D E S K I R C H E Herausgeber Referat Informationstechnologie in der Landeskirche und im Oberkirchenrat Evangelischer Oberkirchenrat

Mehr

Punkt 1 bis 11: -Anmeldung bei Schlecker und 1-8 -Herunterladen der Software

Punkt 1 bis 11: -Anmeldung bei Schlecker und 1-8 -Herunterladen der Software Wie erzeugt man ein Fotobuch im Internet bei Schlecker Seite Punkt 1 bis 11: -Anmeldung bei Schlecker und 1-8 -Herunterladen der Software Punkt 12 bis 24: -Wir arbeiten mit der Software 8-16 -Erstellung

Mehr

Serienbrief erstellen

Serienbrief erstellen Serienbrief erstellen Mit einem perfekt vorbereiteten Serienbrief können Sie viel Zeit sparen. In unserem Beispiel lesen wir die Daten für unseren Serienbrief aus einer Excel Tabelle aus. Die Tabelle hat

Mehr

Mit jedem Client, der das Exchange Protokoll beherrscht (z.b. Mozilla Thunderbird mit Plug- In ExQulla, Apple Mail, Evolution,...)

Mit jedem Client, der das Exchange Protokoll beherrscht (z.b. Mozilla Thunderbird mit Plug- In ExQulla, Apple Mail, Evolution,...) Das tgm steigt von Novell Group Wise auf Microsoft Exchange um. Sie können auf ihre neue Exchange Mailbox wie folgt zugreifen: Mit Microsoft Outlook Web Access (https://owa.tgm.ac.at) Mit Microsoft Outlook

Mehr

Installation älterer Programmversionen unter Windows 7

Installation älterer Programmversionen unter Windows 7 Installation älterer Programmversionen unter Windows 7 Obwohl nicht explizit gekennzeichnet, sind alle MAGIX Produkte mit einer 15 im Namen, sowie MAGIX Video Pro X 1.5, Filme auf DVD 8 und Fotos auf CD

Mehr

Leichte-Sprache-Bilder

Leichte-Sprache-Bilder Leichte-Sprache-Bilder Reinhild Kassing Information - So geht es 1. Bilder gucken 2. anmelden für Probe-Bilder 3. Bilder bestellen 4. Rechnung bezahlen 5. Bilder runterladen 6. neue Bilder vorschlagen

Mehr

SafeRun-Modus: Die Sichere Umgebung für die Ausführung von Programmen

SafeRun-Modus: Die Sichere Umgebung für die Ausführung von Programmen SafeRun-Modus: Die Sichere Umgebung für die Ausführung von Programmen Um die maximale Sicherheit für das Betriebssystem und Ihre persönlichen Daten zu gewährleisten, können Sie Programme von Drittherstellern

Mehr

Schritt 1 - Registrierung und Anmeldung

Schritt 1 - Registrierung und Anmeldung Schritt 1 - Registrierung und Anmeldung Anmeldung: Ihre Zugangsdaten haben Sie per EMail erhalten, bitte melden Sie sich mit diesen auf www.inthega-datenbank.de an. Bitte merken Sie sich die Zugangsdaten

Mehr

Anleitung zur Daten zur Datensicherung und Datenrücksicherung. Datensicherung

Anleitung zur Daten zur Datensicherung und Datenrücksicherung. Datensicherung Anleitung zur Daten zur Datensicherung und Datenrücksicherung Datensicherung Es gibt drei Möglichkeiten der Datensicherung. Zwei davon sind in Ges eingebaut, die dritte ist eine manuelle Möglichkeit. In

Mehr

1. Handhabung. 1.1. Werkzeug- und Menüleiste

1. Handhabung. 1.1. Werkzeug- und Menüleiste 1. Handhabung 1.1. Werkzeug- und Menüleiste Neuer Ordner Ausschneiden Kopieren Einfügen Löschen separate Vorschau Ausloggen Neues Dokument Schnellsuche Datei importieren Schnellsuche Spaltenansicht = normale

Mehr

Memeo Instant Backup Kurzleitfaden. Schritt 1: Richten Sie Ihr kostenloses Memeo-Konto ein

Memeo Instant Backup Kurzleitfaden. Schritt 1: Richten Sie Ihr kostenloses Memeo-Konto ein Einleitung Memeo Instant Backup ist eine einfache Backup-Lösung für eine komplexe digitale Welt. Durch automatisch und fortlaufende Sicherung Ihrer wertvollen Dateien auf Ihrem Laufwerk C:, schützt Memeo

Mehr

Installieren und Verwenden von Document Distributor

Installieren und Verwenden von Document Distributor Klicken Sie hier, um diese oder andere Dokumentationen zu Lexmark Document Solutions anzuzeigen oder herunterzuladen. Installieren und Verwenden von Document Distributor Lexmark Document Distributor besteht

Mehr

Tipps und Tricks zu den Updates

Tipps und Tricks zu den Updates Tipps und Tricks zu den Updates Grundsätzlich können Sie Updates immer auf 2 Wegen herunterladen, zum einen direkt über unsere Internetseite, zum anderen aus unserer email zu einem aktuellen Update. Wenn

Mehr

Access 2013. Grundlagen für Anwender. Susanne Weber. 1. Ausgabe, 1. Aktualisierung, Juni 2013

Access 2013. Grundlagen für Anwender. Susanne Weber. 1. Ausgabe, 1. Aktualisierung, Juni 2013 Access 2013 Susanne Weber 1. Ausgabe, 1. Aktualisierung, Juni 2013 Grundlagen für Anwender ACC2013 2 Access 2013 - Grundlagen für Anwender 2 Mit Datenbanken arbeiten In diesem Kapitel erfahren Sie was

Mehr

GEONET Anleitung für Web-Autoren

GEONET Anleitung für Web-Autoren GEONET Anleitung für Web-Autoren Alfred Wassermann Universität Bayreuth [email protected] 5. Mai 1999 Inhaltsverzeichnis 1 Technische Voraussetzungen 1 2 JAVA-Programme in HTML-Seiten verwenden

Mehr

O UTLOOK EDITION. Was ist die Outlook Edition? Installieren der Outlook Edition. Siehe auch:

O UTLOOK EDITION. Was ist die Outlook Edition? Installieren der Outlook Edition. Siehe auch: O UTLOOK EDITION Was ist die Outlook Edition? Outlook Edition integriert Microsoft Outlook E-Mail in Salesforce. Die Outlook Edition fügt neue Schaltflächen und Optionen zur Outlook- Benutzeroberfläche

Mehr

ÖKB Steiermark Schulungsunterlagen

ÖKB Steiermark Schulungsunterlagen ÖKB Steiermark Schulungsunterlagen Fotos von Online-Speicher bereitstellen Da das hinzufügen von Fotos auf unsere Homepage recht umständlich und auf 80 Fotos begrenzt ist, ist es erforderlich die Dienste

Mehr