Eclipse Version Neon (4.6 Release vom 22. Juni 2016) Installation unter Windows 10 c Y. Pfeifer (Februar 2017) Inhaltsverzeichnis 1 Java-Programmierung 1.1 Installation von Eclipse unter Windows 10 1.2 Aufbau der Workbench / Views . . . . . . 1.2.1 Package Explorer . . . . . . . . . . 1.2.2 Navigator-Fenster . . . . . . . . . . 1.2.3 Outline-Fenster . . . . . . . . . . . 1.2.4 Problems-Fenster . . . . . . . . . . 1.3 Java-Applikation erstellen . . . . . . . . . 1.4 Java-Klasse compilieren . . . . . . . . . . 1.5 Java-Applikation ausführen . . . . . . . . 1.5.1 Java-Applikation mit Parametern . 1.6 Erstellen einer Bibliothek . . . . . . . . . . 1.7 Verwenden einer Bibliothek . . . . . . . . 1.8 Standalone-Applikation erstellen (Standard 1.8.1 Variante 1 . . . . . . . . . . . . . . 1.8.2 Variante 2 . . . . . . . . . . . . . . 1.9 Tipps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Widget Toolkit . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 C/C++ Programmierung 2.1 Voraussetzungen . . . . . . . . . . . . . . . . . 2.1.1 Installation CDT . . . . . . . . . . . . . 2.1.2 Installation MinGW . . . . . . . . . . . 2.2 C/C++ Anwendung erstellen und ausführen . . 2.3 Compilierung und Ausführung von der Console 2.4 Makefile . . . . . . . . . . . . . . . . . . . . . . 2.5 C++ Programm mit Makefile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . (SWT)) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 4 5 5 5 5 5 5 7 8 8 9 9 10 10 12 12 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 13 13 14 14 15 15 16 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 Java und Datenbanken 17 3.1 UCanAccess . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 2 3 1 Java-Programmierung 1.1 Installation von Eclipse unter Windows 10 Zunächst Eclipse Installer unter Beachtung der gewünschten Version (32-Bit-/ 64-Bit-Version) downloaden (z.B. unter http://www.eclipse.org). Bei der Installation wird ein Ordner ’eclipse’ angelegt, der auch die ausführbare Datei eclipse.exe enthält. Dieser Ordner kann später problemlos an die gewünschte Stelle im Dateisystem umkopiert werden, ohne die Funktionsfähigkeit der Software zu gefährden. Voraussetzung für die Nutzung von Eclipse ist die Installation mindestens einer JRE (jre-8windows-x64), welche beispielsweise unter www.oracle.com heruntergeladen werden kann. Zur JRE (Java Runtime Environment, Java-Laufzeitumgebung) zählt neben API und Klassenbibliotheken die JVM, die Java Virtual Machine, welche für die Ausführung des vom JavaCompiler erzeugten Bytecodes verantwortlich ist. Dazu werden die erzeugten plattformunabhängigen Bytecodedateien (class-Dateien) während der Laufzeit in die plattformabhängige Maschinensprache übersetzt. Die Maschine, die diesen Bytecode ausführt, ist typischerweise virtuell, das heißt, der Code wird nicht direkt durch Hardware (etwa einen Mikroprozessor) ausgeführt, sondern durch entsprechende Software auf der Zielplattform. Neben dem Klassenlader (classloader und resolver) beinhaltet die JVM die Speicherverwaltung inklusive der automatischen Speicherbereinigung (garbage collection) sowie die Ausführungseinheit (execution engine). In der Regel (Ausnahme: Threads, d.h. nebenläufig ablaufende Programme) wird jedes Java-Programm in seiner eigenen virtuellen Maschine ausgeführt. Beim Aufruf von Eclipse ist die Angabe einer Arbeitsumgebung, des sogenannten workspace, erforderlich, in der die Projekte erstellt werden sollen. Standardmäßig wird der Pfad C:\Users\[Benutzername]\workspace vorgeschlagen. Dieser kann jedoch individuell abgeändert werden. Die Einstellung des workspace wird unter WINDOWS->PREFERENCES->GENERAL->STARTUP AND SHUTDOWN verwaltet. Hier können auch mehrere workspaces eingetragen sein, zwischen denen ein Wechsel über FILE->SWITCH WORKSPACE möglich ist. Beim erstmaligen Start von Eclipse wird ein Begrüßungsbildschirm angezeigt, welcher u.a. Tutorials für die Erstellung einfacher Java-Anwendungen enthält. Diese Tutorials können nach dem Schließen jederzeit unter HELP->WELCOME erneut aufgerufen werden. 4 1.2 Aufbau der Workbench / Views 1.2.1 Package Explorer Der Package Explorer enthält alle Projekte, welche im aktuellen workspace angelegt wurden. Hierbei werden jedoch nur die für das Projekt notwendigen Daten angezeigt; das bin-Verzeichnis bzw. in diesem erstellte class-Dateien sind nicht sichtbar. 1.2.2 Navigator-Fenster Der Navigator ist kein automatischer Bestandteil der Java-Perspektive, kann jedoch unter dem Menüpunkt WINDOW->SHOW VIEW->NAVIGATOR eingeblendet werden. Im Gegensatz zum Package Explorer enthält er alle Ordner und Dateien, die im workspace angelegt wurden. Geschlossene Projekte (Kontextmenü: CLOSE PROJECT) verursachen einen geringeren Speicherverbrauch, werden jedoch weiterhin im zugeklappten Zustand angezeigt. 1.2.3 Outline-Fenster Das Outline-Fenster bietet eine Übersicht über verwendete Klassen und Methoden und dient der Navigation im aktiven Editorfenster. Durch Auswahl eines Eintrags springt der Curser zur gewünschten Position im Quellcode. 1.2.4 Problems-Fenster Im Problems-Fenster wird eine Liste der vorhandenen Fehler angezeigt, die durch Anklicken eines Eintrags im zugehörigen Quellcode selektiert werden können. 1.3 Java-Applikation erstellen Zunächst sollte die Java-Perspektive ausgewählt werden: WINDOW->PERSPECTIVE->OPEN PERSPECTIVE->JAVA Neues Projekt anlegen unter: • FILE->NEW->JAVA PROJECT oder entsprechenden Button anklicken • Projektname eingeben • Create separate source and output folders“ auswählen für eine saubere Trennung von ” Quellcode (.java-Dateien) und class-Dateien. 5 ⇒ im Package Explorer erscheint das neue Projekt mit src als Unterordner und JRE System Library ⇒ im workspace wird ein nach dem Projektnamen benannter Ordner angelegt mit den Unterordnern • .settings (enthält org.eclipse.jdt.core.prefs = Prefs-Datei) • bin • src und den Dateien • .classpath • .project Aufbau der .project-Datei: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 <?xml version="1.0" encoding="UTF−8"?> <projectDescription> <name>Projektname</name> <comment></comment> <projects> </projects> <buildSpec> <buildCommand> <name>org.eclipse.jdt.core.javabuilder</name> <arguments> </arguments> </buildCommand> </buildSpec> <natures> <nature>org.eclipse.jdt.core.javanature</nature> </natures> </projectDescription> Listing 1.1: .project-Datei Aufbau der .classpath-Datei: 1 2 3 4 5 6 <?xml version="1.0" encoding="UTF−8"?> <classpath> <classpathentry kind="src" path="src"/> <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt. internal.debug.ui.launcher.StandardVMType/JavaSE−1.8"/> <classpathentry kind="output" path="bin"/> </classpath> Listing 1.2: .classpath-Datei Neue Java-Klasse anlegen: • FILE->NEW->CLASS oder entsprechenen Button anklicken • Optional ist die Angabe eines Packages, dem die zu erstellende Klasse angehören soll. • SourceFolder: Projektname/src • Klassenname angeben • main-Methode auswählen, wenn diese erzeugt werden soll 6 ⇒ unter src wird im Package Explorer standardmäßig ein default package erzeugt, das die Datei <Klassenname>.java enthält. ⇒ in der Verzeichnisstruktur wird im Ordner src die Datei Klassenname.java und im Ordner bin die Datei <Klassenname>.class angelegt. 1.4 Java-Klasse compilieren Um die Quellcode-Dateien (.java-Dateien) außerhalb von Eclipse compilieren zu können (Eclipse verfügt über einen eigenen Compiler), wird ein JDK, ein Java Development Kit, benötigt. Die Laufzeitumgebung (Java Runtime Environment, JRE) selbst umfasst nur die virtuelle Maschine (JVM) und die mitgelieferten Bibliotheken, beihaltet jedoch keine Entwicklungswerkzeuge wie bspw. Compiler. Wird zusätzlich zur JRE ein Java-Compiler benötigt, so ist die Nutzung des JDK zu empfehlen, welches sowohl JRE als auch Entwicklungswerkzeuge zum Erstellen von Java-Programmen wie Compiler oder Java-Archiver enthält. Das JDK (jdk-8<version>windows-x64.exe für ein 64-Bit-System, z.B. jdk-8u5-windows-x64.exe) kann von der Webseite www.oracle.com heruntergeladen werden. Nach der Installation befindet sich der Java-Compiler (javac.exe) in der Regel im Verzeichnis C:\Program Files\Java\jdk1.8.0 05\bin\ , sodass die Klasse mithilfe des Befehls C:\Program Files\Java\jdk1.8.0 05\bin\javac“ MyClass.java ” compiliert werden kann. Um auf die vollständige Pfadangabe zum Java-Compiler verzichten zu können, muss die Umgebungsvariable PATH aktualisiert werden. Das Setzen der PATH Variable (optional) erfolgt unter SYSTEMSTEUERUNG->SYSTEM UND SICHERHEIT->SYSTEM->Erweiterte Systemeinstellungen (linkes Menü). Es öffnet sich ein Fenster mit Systemeigenschaften, in welchem die Umgebungsvariablen editiert werden können. Bei der Umgebungsvariablen PATH handelt es sich um eine Reihe von durch Semikolon (;) getrennten Verzeichnissen, die Windows benutzt, um nach Programmen zu suchen (Suchreihenfolge erfolgt von links nach rechts). Hierbei sollte nur ein bin-Verzeichnis für ein JDK eingetragen sein; alle nachfolgenden werden von Windows ignoriert. Um die PATH Variable dauerhaft zu setzen, ist die vollständige Pfadangabe C:\Program Files\Java\jdk1.8.0 05\bin\ zur bereits existierenden PATH Variable hinzuzufügen. Nach dem Setzen der Umgebungsvariablen PATH können alle ausführbaren Dateien (javac.exe, java.exe, javadoc.exe, ...) ohne Pfadangabe aus jedem beliebigen Verzeichnis heraus aufgerufen werden. Sofern es dem Benutzer aufgrund mangelnder Rechte nicht gestattet ist, Änderungen in der Systemsteuerung vorzunehmen, kann die PATH Variable vorübergehend mit Hilfe der MS-DosEingabeaufforderung gesetzt werden. Der Befehl path=<neuer Pfad>;%path% fügt den gewünschten Pfad den bereits existierenden 7 Pfadangaben hinzu. Nach dem Schließen der Shell, wird jedoch der alte PATH-Inhalt wiederhergestellt. Tipp: Bei der Erstellung von Quellcodedateien im Editor sollten bei Speichern unter..“ die ” Klassennamen inklusive java-Endung in Hochkommata angegeben werden (z.B. Klasse.java“), ” da die erstellte Datei sonst als Textdatei interpretiert wird. Dem Namen Klasse.java wird in dem Fall ein .txt hinzugefügt, sodass die Datei als Klasse.java.txt und somit als Textdatei abgespeichert und interpretiert wird. Mit Hilfe der Zeichenkettenangabe kann die .txt-Erweiterung umgangen werden. 1.5 Java-Applikation ausführen Um die Java-Anwendung innerhalb der Entwicklungsumgebung auszuführen: Rechtsklick auf die Klasse im Package Explorer ->RUN AS->JAVA APPLICATION Ausführung der Java-Anwendung in der Console / MS-DOS-Eingabeaufforderung: - Verwendung eines default-packages wird angenommen • Verzeichnis aufrufen, in dem sich die class-Datei befindet (z.B. bin-Ordner • java <Klassenname> Bei Verwendung eines eigenen packages: • java <package>.<Klassenname> • z.B. java de.stud.inf.HalloWelt 1.5.1 Java-Applikation mit Parametern Beispielhafter Auszug aus dem Quellcode: 1 public static void main(String[] args) { 2 System.out.println("Argumente: "); for(int i=0;i<args.length;i++) System.out.println(args[i]); 3 4 5 6 } Listing 1.3: Java-Quellcode-Auszug In der Entwicklungsumgebung können die Parameter über das Kontextmenü der entsprechenden Anwendung (Rechtsklick im Package Explorers) ->RUN AS->RUN CONFIGURATIONS unter dem Tab ARGUMENTS - durch RETURN getrennt - eingetragen werden. Unter der Karteikarte MAIN werden das Projekt und die main-class angegeben. Die Anwendung wird direkt mit dem Button RUN gestartet. 8 Ausführung der Java-Anwendung in der Console / MS-DOS-Eingabeaufforderung: - Verzeichnis aufrufen, in dem sich die class-Datei befindet (z.B. bin-Ordner) - java <Klassenname> arg1 arg2 ... 1.6 Erstellen einer Bibliothek Zur Weiterverwendung von Klassen anderer Projekte kann die zu verwendende Klasse über die import-Anweisung integriert werden. z.B. import de.test.util.* ⇒ importiert alle Klassen des Packages de.test.util. Nach dem Speichern werden Fehler angezeigt, da sich das Projekt mit der / den verwendeten Klasse(n) nicht im Klassenpfad befindet. Lösung mit Hilfe von QUICKFIX (Kontextmenü): Quickfix schlägt vor, das Projekt der importierten Klassen dem Build Pfad des aktuellen Projekts hinzuzufügen. ⇒ unter dem Menüpunkt PROJECT->PROPERTIES wird im Register PROJECTS das importierte Projekt hinzugefügt. Alternativ kann auch ein Eintrag im Register LIBRARIES erfolgen (Add Class Folder ..., binOrdner des entsprechenden Projekts auswählen). Die Weiterverwendung von Klassen anderer Projekte kann auch über die Nutzung von Bibliotheken erfolgen. • Projekt anlegen (s.o) • Klasse anlegen (s.o.) • Im Package Explorer Kontextmenüpunkt EXPORT aufrufen (Exportformat JAR FILE) • zu exportierende Ressource auswählen. Hierbei werden i.d.R. die Dateien .classpath und .project nicht mit übernommen (gegebenfalls Häkchen entfernen). • Export generated class files and resources“ (Standard) exportiert keine Quellcodedateien. ” ⇒ Die jar-Datei wird im workspace erstellt. 1.7 Verwenden einer Bibliothek Empfehlenswert ist das Anlegen eines lib-Ordners unterhalb des Projekts, der die verwendeten Jar-Dateien enthält! In der Entwicklungsumgebung kann der lib-Ordner im Package Explorer angelegt, die benötigten Jars mit Hilfe eines Imports hinzugefügt werden. 9 Vorgehensweise: • lib-Ordner markieren • Kontextmenü aufrufen ->IMPORT • FILESYSTEM auswählen • From directory (im linken Fenster wird der Ordner ausgewählt, in dem sich die Jar-Dateien befinden, rechts die gewünschte / zu importierende jar-Datei.) Das Archiv (jar-Datei) muss nun dem Klassenpfad hinzugefügt werden (PROJECT->PROPERTIES->JAVA BUILD PATH): in dem Tab LIBRARIES -> Button ADD JAR anklicken und das gewünschte Archiv auswählen. Ausführung der Java-Anwendung von der Console - Verzeichnis aufrufen, in dem sich die class-Datei befindet (z.B. bin-Ordner) java -classpath <Pfad zur Bib>/<bib>.jar; <Klasse> Bsp. java -classpath ../lib/myBib.jar; myClass 1.8 Standalone-Applikation erstellen (Standard Widget Toolkit (SWT)) 1.8.1 Variante 1 Import-Wizard öffnen ->File->Import... (Plug-in Development->Plug-ins and Fragments auswählen) Auf der Import Plug-ins and Fragments“-Seite: ” • Import from: The active target platform • Plug-ins and Fragments to import: Select from all plug-ins and fragments found at the specified location • Import as: Projects with source folders Auf der Selection Seite: • Aus den gefundenen Plug-ins und Fragmenten org.eclipse.swt.{platform}.{os} z.B. org.eclipse.swt.win32.win32.x86 64 auswählen und den zu importierenden hinzufügen (Add ...) 10 ⇒ im workspace wird ein Ordner org.eclipse.swt.win32.win32.x86 64 angelegt, der wiederum die Ordner • .settings • about files • bin • library • META-INF • src und weitere Dateien wie • .api description • .project • about • fragment.properties • build.properties und dlls enthält. Der Ordner bin enthält org->eclipse->swt mit weiteren Ordnern und Dateien. Der Ordner src enthält org->eclipse->swt mit weiteren Ordnern und Dateien. Java-Projekt anlegen (s.o.) Da das Projekt SWT erfordert, muss dies in den Projekt-Eigenschaften angegeben werden (Rechtsklick auf das Projekt->Properties) Auf der Java Build Path - Seite: • Projects Tab öffnen • org.eclipse.swt.{platform}.{os} - Projekt hinzufügen Neue Klasse mit main-Methode anlegen In der main-Methode folgenden Quellcode eintragen: 1 2 3 4 5 6 7 8 Display display = new Display(); Shell shell = new Shell(display); shell.setText("Hello world!"); shell.open(); while (!shell.isDisposed()) { if (!display.readAndDispatch()) display.sleep(); } display.dispose(); 11 Zunächst werden Compilierfehler angezeigt (rotes x neben den entsprechenden Zeilen) Source->Organize Imports entfernt diese Fehler Beim Ausführen erscheint u.U. ein Fehler, dass swt-win32-4332.dll nicht gefunden wurde. Die DLL an die gewünschte Stelle zu kopieren, beseitigt den Fehler. 1.8.2 Variante 2 • Java Projekt erstellen • Klasse mit obigem Code erstellen • lib-Ordner unterhalb des Projekts anlegen und swt.jar importieren • Zunächst werden Compilierfehler angezeigt (rotes x neben den entsprechenden Zeilen) • swt.jar zum Klassenpfad hinzufügen (PROJECT->PROPERTIES->JAVA BUILD PATH): in dem Tab LIBRARIES -> Button ADD JAR anklicken und das gewünschte Archiv auswählen. • Über das Kontextmenü QUICK FIX aufrufen • Je nachdem welcher Fehler ausgewählt wurde, erscheint die Meldung: Import ’Display’ bzw. ’Shell’ (org.eclipse.swt.widgets) ⇒ import org.eclipse.swt.widgets.*; 1.9 Tipps • Zeilennummern hinzufügen: WINDOW->PREFERENCES GENERAL->EDITORS->TEXT EDITORS show line numbers • Weitere JRE verwenden: WINDOW->PREFERENCES JAVA->INSTALLED JREs • Mit Javadoc-Kommentaren zusätzliche Dokumentation erzeugen 12 2 C/C++ Programmierung 2.1 Voraussetzungen Um Eclipse darüberhinaus für die C/C++ Programmierung nutzen zu können, wird zum einen ein entsprechender Compiler zum anderen das C/C++ Development Tool (CDT) benötigt. Als Compiler stehen für Windows der MinGW GCC und der Cygwin GC zur Verfügung. MinGW (Minimalist GNU for Windows) ist eine Open Source Entwicklungsumgebung für die Entwicklung nativer MS-Windows Anwendungen. Diese ist abhängig von einer Reihe von DLLs (z.B. der MSVCRT.DLL, der MS C Runtime Library), welche Teil des Betriebssystems sind. 2.1.1 Installation CDT Plugins wie das CDT können unter HELP->INSTALL NEW SOFTWARE installiert werden. Dazu ist im Work with“-Feld ” Neon - http://download.eclipse.org/releases/neon einzutragen. Pending ... Aus der Liste mit verfügbaren Plugins kann das gewünschte Plugin z.B. C/C++ Development Tools“ für die C/C++ Programmierung ” ausgewählt werden. 13 2.1.2 Installation MinGW MinGW-3.1.0-1 (Minimalist GNU for Windows) kann unter prdownloads.sourceforge.net/mingw/MinGW-3.1.0-1.exe heruntergeladen werden. Installieren nach C:\MinGW Für die C/C++ Programmierung sollte ein von der Java-Programmierung abweichendes workspace gewählt werden. Nach der Installation des Plugins wird unter WINDOW->OPEN PERSPECTIVE auch die Perspektive C/C++ angeboten. 2.2 C/C++ Anwendung erstellen und ausführen 1. Projekt erstellen: FILE->NEW->C++ Project Project name: z.B. FirstProject Project type: Executable - Empty Project Toolchains: Compiler (MinGW GCC) auswählen Unter Select Configurations“ DEBUG und RELEASE auswählen. ” 2. C-Datei erstellen: FILE->NEW->SOURCE FILE Source File: Hello.cpp (Datei-Endungen müssen klein geschrieben werden, da Eclipse sonst den Fehler Nothing to build für project“ erzeugt, weil Eclipse diese nicht als C/C++ Dateien ” erkennt!!!) Für C-Projekte werden analog dazu C-Projekte bzw. .c-Dateien erstellt. Im workspace werden unterhalb des Projekt-Ordners ”FirstProject”die Dateien • .cproject • project • Hello (C-Quellcodedatei) angelegt. 14 1 2 #include <iostream> using namespace std; 3 4 5 6 7 int main() { cout << "Hello, world!" << endl; return 0; } Listing 2.1: C++-Datei Bei angegebenem Beispielcode werden evtl. Fehler beim Namespace und bei der verwendeten Funktion angezeigt, da diese nicht aufgelöst werden können. PROJECT->CLEAN beseitigt die Fehler. 3. Compilieren & Binden BUILD PROJECT .. Im Projekt-Ordner wird ein Ordner Debug angelegt, der die Anwendung und die .o-Datei enthält. 4. Programm ausführen RUN AS->LOCAL C/C++ APPLICATION 2.3 Compilierung und Ausführung von der Console Voraussetzungen: Umgebungsvariable PATH um C:\MinGW\bin (Pfad, in dem sich z.B. die gcc.exe befindet) erweitern. Häufig enthält der bin-Ordner kein make.exe, oft ist nur ein mingw32-make.exe oder ähnliches vorhanden, dann Kopie erstellen und in make umbenennen. g++ -c -g Hello.cpp erzeugt Hello.o aus der Quellcodedatei g++ -g -o Hello.exe Hello.o erzeugt Anwendung (Hello.exe) aus der Hello.o 2.4 Makefile Erstellung der Anwendung kann auch mit Hilfe eines Makefiles erfolgen. 1 all: Hello.exe 2 3 4 clean: del Hello.o Hello.exe 5 6 7 Hello.exe: Hello.o g++ −g −o Hello.exe Hello.o 8 9 Hello.o: Hello.cpp 15 10 g++ −c −g Hello.cpp Listing 2.2: Makefile Datei als makefile“ (in Hochkommata) abspeichern ” Aufrufen von der Console mit Hilfe des Befehls make (startet make.exe) Daraufhin wird der im aktuellen Verzeichnis gespeicherte makefile ausgeführt. 2.5 C++ Programm mit Makefile Bei Projekten ohne selbst erstelltem Makefile wird von Eclipse automatisch ein Makefile generiert, um die Anwendung zu erzeugen. Ein individueller Makefile für den Erstellungsprozess ist jedoch ebenfalls möglich. C++ Makefile Projekt erstellen FILE->NEW->Makefile Project with Existing Code Project Name: ... Toolchains: MinGW GCC Makefile (s.o.) 16 3 Java und Datenbanken 3.1 UCanAccess Mit Java 8 wurde die JDBC-ODBC-Bridge entfernt, d.h. der herkömmliche Zugriff auf eine Datenbank mittels 1 2 3 Class.forName("‘sun.jdbc.odbc.JdbcOdbcDriver"’); Connection con = DriverManager.getConnection ("‘jdbc:odbc:NameDatenquelle"’,benutzerkennung,passwort); ist auf diese Weise nicht mehr möglich. Einen Lösungsansatz bietet der JDBC Treiber UCanAccess (http://ucanaccess.sourceforge.net/site.html), welcher sowohl alte als auch neue Access-Formate (.mdb, accdb) unterstützt. Um UCanAccess zu nutzen, werden die folgenden Komponenten benötigt: • UCanAccess (ucanaccess-2.x.x.jar) • HSQLDB (hsqldb.jar, version 2.2.5 or newer) • Jackcess (jackcess-2.x.x.jar) • commons-lang (commons-lang-2.4.jar, or newer) • commons-logging (commons-logging-1.0.4.jar, or newer UCanAccess enthält bereits alle erforderlichen JAR Files im Zip. Nach dem Entpacken erhält man unter anderem die folgenden Bibliotheken: • ucanaccess-2.0.4.jar • lib/commons-lang-2.6.jar • lib/commons-logging-1.1.3.jar • lib/hsqldb.jar • lib/jackcess-2.0.3.jar 17 Durch Rechtsklick auf das Projekt → Build Path → Configure Build Path ... öffnet sich das Menü für die Build Path Einstellungen. Hier können die 5 Bibliotheken dem Projekt als externe JARs hinzugefügt werden (Libraries, Add External JARs...). Der Zugriff auf die DB kann nun wie folgt aussehen: 1 2 import java.sql.∗; public class BasicJDBC { 3 4 5 6 7 public static void main(String[] args) { Connection con = null; Statement stmt = null; ResultSet rs = null; 8 9 String URL ="jdbc:ucanaccess://C:/Users/Benutzername/Desktop/DB.accdb"; 10 11 12 13 14 15 16 17 18 try{ con = DriverManager.getConnection(URL); stmt = con.createStatement(); } catch(Exception e) { System.err.println("Verbindung zu " + URL + " konnte nicht hergestellt werden."); } 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 try{ rs = stmt.executeQuery("select ∗ from tabelle"); while(rs.next()){ //... System.out.println(rs.getString("feldName")); } } catch(Exception e) { e.printStackTrace(); } finally{ try{ if(rs != null) rs.close(); if(stmt != null) stmt.close(); if(con != null) con.close(); } catch(Exception e) { e.printStackTrace(); } }/∗∗/ }// Ende main } // Ende class 18