Zum Hauptinhalt springen

Verbindungen

MapEdit unterstützt die Datenstruktur von MapEdit und von AutoCAD Map 3D. Andere Datenstrukturen können ebenso eingebunden werden, entsprechend mit eingeschränkter Funktionalität.

Menü Datenbank Verbindungen

Anhand der Farbe erkennen Sie im Baum den Typ des Datenmodels.

Die Beschreibung der Oracle Datenbankverbindung

Die Beschreibung der Postgres Datenbankverbindung

Die Beschreibung der SQLite Datenbankverbindung

Hinweis

Je nach Datenbankverbindungsstyp gibt es zum Teil unterschiedliche Funktionalitäten die in den Reitern Datenstruktur und Mehr ersichtlich sind.

Existierende Datenbank verbinden

Hiermit kann eine Verbindung zu einer bereits vorhandene Datenbanken erzeugt werden. Unterstützt werden die Datenbank System Oracle/SQLite/Postgre und SQLServer.

Klicken Sie auf den Button Existierende Datenbank verbinden in der Multifunktionsleiste und wählen Sie aus der Liste den Datenbanktypen aus.

Ab Version 23.1.* gibt es ein Feld "Description (Beschreibung)".
Hier können Sie einen Beliebigen Kommentar Eintragen.

Oracle

Vergeben Sie einen eindeutigen Anzeigenamen für die Datenbankverbindung und legen Sie diese mit OK an. Der Benutzername (Oracle User), das Passwort und der Service für die Verbindung kann direkt eingetragen werden.

Alternativ können Sie mit dem Button ASSISTENT den Verbindungsassistenten öffnen. Tragen Sie den User SYSTEM, das Passwort und den Datenbank Service ein. Werden Sie viele Verbindungen einrichten, dann aktivieren Sie die Option Passwort merken. Mit Anmelden/Aktualisieren werden alle vorhanden Oracle Benutzer aufgelistet. Der ausgewählte Benutzer wird mit OK bei der Verbindung eingetragen.

Falls der MapEdit Benutzername in Oracle-Triggern verwendet wird, aktivieren Sie die Einstellung Benutze Client Identifier. Kontrollieren Sie das Passwort und speichern Sie die Verbindung. Das System liest nun die Struktur des Oracle Users sowie die Map 3D-Einstellungen. Das kann unter Umständen etwas dauern. Wenn der Vorgang abgeschlossen ist, werden die Infos in der rechten Spalte angezeigt.

Im Feld Extended Properties kann man bei der Datenbankverbindung die Verbindungsparamter einstellen. Für Oracle wird der DevArt Datenbank Provider benutzt. Was für Parameter hier eingestellt werden können finden Sie hier:

https://www.devart.com/dotconnect/oracle/docs/Devart.Data.Oracle~Devart.Data.Oracle.OracleConnection~ConnectionString.html

Bitte beachten

Wenn in der web.config UsePoolManager="ON" steht oder es keinen Eintrag gibt dann ist automatisch der MapEdit eigene Pooling mechanismus eingeschalten. UND: Das Oracle Pooling ist dann immer ausgeschalten.

D.h. wenn bei Extended Parameter "Pooling=True" eintragen ist und bei "UsePoolManager" steht nicht "OFF" dann wird der Parameter "Pooling=True" ignoriert und das Oracle Pooling wird nicht verwendet.

Vorsicht

Man muss sehr genau überlegen was man macht wenn am Oracle Pool oder sonst wo Einstellungen an Oracle verändert Werden.

MapEdit ist eine "Internet" Anwendung. MapEdit Mobile auch.

Das bedeutet:

Jede SQL Abfrage macht eine Datenbankverbindung auf, führt die Abfrage aus und macht die Verbindung dann wieder zu. Viele SQL Abfragen erfolgen nicht nacheinander sondern "gleichzeitig" ansonsten wird die Anwendung sehr sehr sehr langsam.

Damit es schneller geht wird die Verbindung nicht wirklich geschlossen sondern gepoolt, also offen gehalten. Aber: Irgendwann wird die Connection nach Nichtbenutzung geschlossen.

Wenn "ON_LOGON" zum Beispiel 15 Sekunden benötigt, bedeutet das folgendes:

MapEdit wird gestartet. Es sind vielleicht 20 Tooltips auf der Karte und 10 MapGuide Karten (wenn diese live sind und nicht gekachelt). Dann laufen 20 Tooltip Abfragen los, und 10 Abfragen an MapGuide, alles gleichzeitig.

Abfrage 1: Öffnet eine DB Verbindung und wartet nun 15 sekunden.

Abfrage 2: Findet keine Verbindung im Pool und öffnet auch eine DB Verbindung und wartet nun 15 sekunden

Abfrage 3: Findet keine Verbindung im Pool und öffnet auch eine DB Verbindung und wartet nun 15 sekunden

usw.

Erst wenn die erste Abfrage durch ist kann die DB Verbindung wiederverwendet werden.

D.h. im Beispielfall gehen dann 30 Db Verbindungen auf.

Nun sieht man jede Menge Connctions in seiner Oracle Datenbank. Und man meint das sei schlecht und setzt das Pool Limit herunter.

Das ist keine Gute Idee, denn nun werden zwar weniger Verbindungen benuzt.

Aber: Jede Abfrage muss nun warten bis die vorige Abfrage fertig ist, weil es wegen der Pool Beschränkung nun keine Verbindung öffnen darf und warten muss, und damit geht alles langsammer.....

Das passiert nicht nur beim Starten wenn man Tooltips etc hat, sondern auch beim öffnen von Generic Formularen, weil da gerne zig SQL Labels und 20 Kennungslisten etc eingebaut sind . Das Gleiche gilt für den Bildaufbau in Professional.

Daran denken dass nicht nur ein Client bedient wird sondern mehrere. Wenn also das Pooling limitiert oder das Timeout runtergesetzt wird dann muss alles bedacht werden...

Ansonsten kann es sein dass das nächste Öffnen des Generic Dialoges dann 5 Minuten dauert.

SQLite

Vergeben Sie einen eindeutigen Anzeigenamen für die Datenbankverbindung und legen diese mit OK an. In das Feld Dateiname tragen Sie den vollständigen Pfad (lokal auf dem Server) zum Verzeichnis und den Dateinamen ein.

Beachten Sie, dass der Windows-Benutzer IIS\IUSRS Lese- und Schreibrechte auf das Verzeichnis mit der SQLite-Datei benötigt.

Alternativ können Sie mit dem Button ASSISTENT den Verbindungsassistenten öffnen. Es werden alle SQLite-Datenbanken im Verzeichnis MumGeoData\Databases abgelegt sind. Wenn Sie das gewünschte File auswählen, werden Pfad und Dateiname automatisch übernommen. Speichern Sie die Verbindung. Das System liest nun die Datenbankstruktur. Das kann unter Umständen etwas dauern. Wenn der Vorgang abgeschlossen ist, werden die Infos in der rechten Spalte angezeigt.

Die Geometriedaten müssen in SQLite im Format FGF (das Format, das auch von FDO unterstützt wird) vorhanden sein damit diese gelesen/geschrieben werden können.

Bei SQLite ist darauf zu achten, dass das Datenbankfile im Infrastructure Studio bzw. MapGuide Maestro als unmanaged eingebunden wird und dass FDO Enabled = TRUE eingestellt ist (in den Eigenschaften der Datenbankverbindung). Sonst sind Änderungen (z.B. Digitalisieren) nicht sofort in der Karte sichtbar.

Postgres

Vergeben Sie einen eindeutigen Anzeigenamen für die Datenbankverbindung und legen diese mit OK an. Hinterlegen Sie Benutzernamen und Passwort, den Port und den Servernamen sowie den Namen der Datenbank.

Postgre 15

In der Box "Extended Properties" können optional weitere optionale Parameter angegeben werden wie Connection Pooling Einstellungen und fixe Schemennamen (SEARCHPATH).

Die Einstellungen können ebenfalls in der pg_hba.conf eingestellt werden, falls Zugriff darauf besteht.

Speichern Sie die Verbindung. Das System liest nun die Datenbankstruktur. Das kann unter Umständen etwas dauern. Wenn der Vorgang abgeschlossen ist, werden die Infos in der rechten Spalte angezeigt.

Ab Version 24.1.65
finden Sie hinter "Database" einen Knopf. Mit diesem können Sie wenn Benuztername/Passwort/Server und Port ausgefüllt sind alle vorhandenen Datenbanknamen angezeigt yund ausgewählt werden.

SQLServer (experimental)

Eine Beta Version des SQLServer Anschlusses steht ab Release 22.2.58 zur Verfügung.

SQL Server Datenbanken werden unterstützt sind aber noch in der Beta Phase und noch nicht vollständig getestet und supported. Melden Sie Probleme mit SQL Server bitte an ihre MapEdit Hotline.

Neue Datenbank erzeugen

Mit dieser Funktion haben Sie die Möglichkeit eine neue Datenbank (Oracle / SQLite / Postgre / SQL Server ) anzulegen.

Die Funktion erzeugt immer eine Datenbank mit einer MapEdit Datenmodell Datenstruktur. Map 3D Datenbanken können hiermit nicht erzeugt werden. Verwenden Sie dazu bitte den Autodesk Map Admin.

Die gespeicherten Verbindungen werden überprüft und wenn notwendig hinsichtlich der Struktur abgeglichen. Das Ergebnis wird in einer log-Datei abgelegt.

Alle testen (Button Aktualisieren)

Mit dieser Funktion wird geprüft ob alle Verbindungen korrekt sind. Wenn Fehler auftreten werden diese protokolliert.

Verbindungspool zurücksetzen

Ab Version 23.1.87

Mit diesem Knopf können die Datenbankverbindungspools zurückgesetzt werden.

MapEdit hat auf Server Seite bei Oracle und SQLite zusätzlich zum Standard Datenbank Verbindungs Pooling des jeweiligen Datenbanksystem einen eigenen Verbindungspool. Bei Postgres wird dies nicht verwendet. Dieser Pool wird hiermit auch zurück gesetzt.

Diese Funktion wird benötig wenn sie z.B. eine Datenbank händisch mittels eine Thirt Party Tools oder bei SQLite Datebank mittels Datei Manager löschen wollen.

Beim AppBuilder Knopf "Datenbank löschen" wird dies nicht benötigt. Hier erfolgt ein zurücksetzen automatisch.

Formulare Synchronisieren

Das "Formulare Synchronisieren" muss immer dann ausgeführt werden, wenn in Autodesk Map mit dem TB Admin im  Form Designer Änderungen an den Formularen gemacht wurden. MapEdit weiß von diesen Änderungen nichts und zeigt dann weil die Formulare gecached sind alte Versionen dieser Dialoge an.

Datei löschen

ab Version 22.2.58

Hier können Sie einen oder mehrere Oracle, Postgres und SQLServer Datenbank User löschen.

Es ist dazu das System/Super User Login der Datenbank erforderlich. Dieser User muss Rechte zum Löschen von Datenbankusern und Tabellen haben. Das Passwort muss aus Sicherheitsgründen eingegeben werden und wird sich nicht gemerkt.

Es können nur Datenbankuser gelöscht werden die die Tabellen ME_TOPIC oder TB_DICTIONARY beinhalten. Dadurch wird gewährleistet das nur MapEdit Datenbanken gelöscht werden können.

Stellen Sie sicher das die Datenbank nicht im Zugriff von MapServer, MapGuide, Oracle Tool, pgAdmin oder irgend einer anderen Software ist, ansonsten kann die Datenbank nicht gelöscht werden.

SQL Abfrage

Mit dieser Funktion starten Sie den AppBuilder internen SQL Abfarge Editor mit dem Sie eigene SQL Abfragen ausführen können.