Wiki-Quellcode von Database drivers
Verstecke letzte Bearbeiter
author | version | line-number | content |
---|---|---|---|
13.3 | 1 | {{figure image="database_driver_de.png"}} | |
2 | Dieser Fehlermeldung erscheint, wenn kein Treiber für die Datenbank installiert ist. Es muss zuerst der entsprechende Treiber für das Datenbankverwaltungssystem installiert werden. | ||
1.1 | 3 | {{/figure}} | |
4 | |||
13.3 | 5 | Von {{formcycle case="dat"/}} werden keine Datenbanktreiber mehr mit ausgeliefert. Es ist hierdruch möglich, eigene Treiber zu nutzen, welche unabhängig von {{formcycle/}} aktualisiert werden können. Die Treiber müssen jedoch nun für das verwendete Datenbanksystem separat installiert werden. Die Treiber können von der offiziellen Seite des jeweiligen Datenbanksystems heruntergeladen werden: | |
1.1 | 6 | ||
13.3 | 7 | * [[Oracle MySQL>>https://dev.mysql.com/downloads/connector/j/||rel="noopener noreferrer" target="_blank"]] (unter Select Opterating System ist Platform Independent auszuwählen) | |
9.2 | 8 | * [[OracleDB>>http://www.oracle.com/technetwork/database/application-development/jdbc/downloads/index.html||rel="noopener noreferrer" target="_blank"]] | |
9 | * [[PostgreSQL>>https://jdbc.postgresql.org/download.html||rel="noopener noreferrer" target="_blank"]] | ||
10 | * [[SQLServer>>https://docs.microsoft.com/en-us/sql/connect/jdbc/microsoft-jdbc-driver-for-sql-server?view=sql-server-2017||rel="noopener noreferrer" target="_blank"]] | ||
13.2 | 11 | * [[MariaDB>>https://mariadb.com/kb/en/library/about-mariadb-connector-j]] | |
1.1 | 12 | ||
13.3 | 13 | Das genaue Vorgehen zur Installation hängt vom verwendeten Server ab. Für den Apache Tomcat wird [[hier>>doc:Formcycle.SystemSettings.TomcatSettings.InstallDBDriver]] die Einrichtung beispielhaft beschrieben. | |
9.2 | 14 | ||
13.3 | 15 | == Encoding == | |
9.3 | 16 | ||
13.3 | 17 | In einer Datenbank lässt sich der zu nutzende Zeichensatz einstellen. Für {{formcycle/}} wird empfohlen, einen UTF-8-Zeichensatz zu wählen, der zwischen Groß- und Kleinschreibung unterscheidet, und zwar: | |
9.3 | 18 | ||
13.3 | 19 | {{code language="none"}} | |
12.2 | 20 | utf8_bin | |
21 | {{/code}} | ||
9.3 | 22 | ||
13.3 | 23 | Bei Verwendung eines Zeichensatzen wie //utf8_general_ci// (utf8, case insensitive) kann es zu Problemen kommen, da hier nicht zwischen Groß- und Kleinschreibung unterschieden wird. | |
9.3 | 24 | ||
13.3 | 25 | == Hinweise zu MS SQL und Encoding == | |
12.2 | 26 | ||
13.3 | 27 | Für die Server-Version 2019 sollte das Encoding {{code language="none"}}Latin1_General_100_CI_AS_SC_UTF8{{/code}} genutzt werden. In den vorherigen Versionen am Besten {{code language="none"}}Latin1_General_CI_AS{{/code}}. | |
12.2 | 28 | ||
13.3 | 29 | == Hinweise zu Oracle MySQL == | |
12.2 | 30 | ||
13.3 | 31 | {{figure image="database_mysql_unicode_de.png"}} | |
32 | Konfiguration des Datenbanksystems //Oracle MySQL// mit Unicode. Hier wird die Zeichenkodierung explizit in der {{smallcaps}}Jdbc{{/smallcaps}}-{{smallcaps}}Url{{/smallcaps}} mitgegeben. Im Normalfall ist dies nicht notwendig, die Zeichenkodierung wird automatisch erkannt. | ||
9.2 | 33 | {{/figure}} | |
34 | |||
13.3 | 35 | Ab Version 8 von Oracle MySQL wird der Zeitzonenname {{smallcaps}}Cest{{/smallcaps}} nicht mehr unterstützt. Standardmäßig übermittelt das Betriebssystem die Zeitzone an die Datenbank. Wird hier dieser Zeitzonenname an Oracle MySQL übertragen, kann keine Verbindung zur Datenbank hergestellt werden. In dem Fall ist es möglich, eine Zeitzone explizit in der {{smallcaps}}Jdbc{{/smallcaps}}-{{smallcaps}}Url{{/smallcaps}} zu übergeben: | |
9.2 | 36 | ||
37 | {{code language="text"}} | ||
13.3 | 38 | jdbc:mysql://localhost/db?serverTimezone=Europe/Berlin | |
9.2 | 39 | {{/code}} | |
40 | |||
13.3 | 41 | Weiterhin kann es in einigen Fällen vorkommen, dass die Zeichenkodierung nicht richtig erkannt wird. Auch hier kann die Zeichenkodierung in der {{smallcaps}}Jdbc{{/smallcaps}}-{{smallcaps}}Url{{/smallcaps}} übergeben werden. Für Unicode zum Beispiel, wenn in der Datenbank die Einstellung //connection collation// auf //utf8_general_ci// gesetzt ist: | |
9.2 | 42 | ||
43 | {{code language="text"}} | ||
44 | jdbc:mysql://localhost/db?useUnicode=true&characterEncoding=UTF-8 | ||
45 | {{/code}} | ||
46 | |||
13.3 | 47 | == Andere Datenbanksysteme == | |
9.2 | 48 | ||
13.3 | 49 | Es ist auch möglich, eine anderes Datenbanksytem wie etwa HSQLDB, Derby oder Informix zu verwenden. Auch hier muss der Datenbanktreiber installiert werden. Hier eine Übersicht über die {{smallcaps}}Jdbc{{/smallcaps}}-{{smallcaps}}Url{{/smallcaps}} und die dazugehörigen Treiberklassen einiger Datenbanksysteme: | |
9.2 | 50 | ||
51 | {{table dataTypeAlpha="0-2" preSort="0-asc"}} | ||
13.3 | 52 | |=Name|=JDBC-URL|=JDBC-Treiber Klasse | |
53 | | SAP HANA| jdbc:sap:~/~/<dbhost>:30015/|com.sap.db.jdbc.Driver | ||
9.2 | 54 | | Informix| jdbc:informix-sqli:~/~/<dbhost>:9088/sysuser:INFORMIXSERVER=hpjp|com.informix.jdbc.IfxDriver | |
55 | | HSQLDB| jdbc:hsqldb:mem:<dbname>| org.hsqldb.jdbc.JDBCDriver | ||
56 | | Derby| jdbc:derby:target/tmp/derby/hpjp;databaseName=<dbname>;create=true| org.apache.derby.jdbc.EmbeddedDriver | ||
57 | {{/table}} |