Benutzer-Werkzeuge

Webseiten-Werkzeuge


Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

produkte:cad_2017:funktionsweise [2018/03/07 10:48] (aktuell)
Zeile 1: Zeile 1:
 +====== Funktionsweise ======
 +===== Beschreibung =====
 +Die Funktion der Datenbankanbindung {{:​produkte:​cad:​planung:​icon0025.gif?​nolink|}} kann entweder über das Menü **Massen > Datenbankanbindung...** oder über die rechte Maustaste **Neu > Datenbankanbindung...** aufgerufen werden.
  
 +Über das Menü im **Objekt-Manager** wird ein Knoten im Massenbaum eingefügt, der eine bestimmte Datenbank anbindet. Dazu wird eine vordefinierte Konfiguration und anschließend entweder eine Datei oder eine Teilmenge davon ausgewählt. Unter diesem Knoten werden dann alle Datensätze der Datei bzw. der Teilmenge als Knoten angelegt und mit diesem Symbol {{:​produkte:​cad:​planung:​icon0026.gif?​nolink|}} gekennzeichnet.
 +
 +Die Anzahl der Hierarchiestufen richtet sich dabei nach der Konfiguration und der Struktur der Datenbank, kann aber theoretisch beliebig viele Hierarchiestufen beinhalten. Durch die Zuordnung von Zeichnungsobjekten innerhalb der Knoten können diese an die Datensätze verknüpft und ihre Attribute (Eigenschaften) in die Datensätze der Datenbank geschrieben werden. Die Funktionsweise der Schnittstelle wird auch anhand eines ausführlichen Beispiels erläutert (siehe [[Anwendungsbeispiele]]).
 +
 +Grundsätzlich kann zwischen Datenbanken unterschieden werden, die mehrere Tabellen in einer Datei unterbringen (wie in diesem Beispiel: MS Access) und Datenbanken,​ die aus mehreren Dateien bestehen, die dann eine (FoxPro, Paradox) oder mehrere Tabellen enthalten. ​
 +
 +----
 +
 +===== ODBC-Treiber =====
 +Der Zugriff auf die Datenbanken aus dem **Objekt-Manager** erfolgt über einen ODBC-Treiber,​ der vorab in der Systemsteuerung eingerichtet werden muss. In den meisten Fällen muss dieser Eintrag manuell erstellt werden. In einigen Fällen wird dies jedoch schon bei der Installation des Datenbankprogramms automatisch vorgenommen. Der benötigte Treiber, dessen Version und Konfiguration,​ kann am besten beim Hersteller des Datenbankprogramms erfragt werden.
 +
 +----
 +
 +===== ODBS-Konfiguration erstellen =====
 +Eine ODBS-Konfiguration besteht im Wesentlichen aus einer Konfigurationseinstellung und mehreren SQL-Befehlen,​ die den Zugriff auf eine Datenquelle aus dem **Objekt-Manager** über den ODBC-Treiber steuern.
 +
 +Um eine Konfiguration zu erstellen oder zu bearbeiten, muss der entsprechende Dialog in DATAflor CAD aufgerufen werden.
 +
 +=== Anwendung ===
 +  - Innerhalb von DATAflor CAD wird der Befehl **MASSEN** aufgerufen und die Stelle im Massenbaum markiert, an der später die Datenbankanbindung eingefügt werden soll. Wird in diesem Arbeitsschritt nur die Konfiguration erstellt, spielt die Position im Massenbaum keine Rolle.
 +  - Über das Menü **Massen > Neu > Datenbankanbindung...** oder entsprechend mit der rechten Maustaste wird der Dialog **Datenbankanbindung** geöffnet.\\ {{:​produkte:​cad:​planung:​odbs0018.gif?​nolink|}}\\ \\ 
 +  - Über **[Neu...]** wird im folgenden Dialog eine neue Datenbankkonfiguration angelegt. Mit **[Bearbeiten...]** kann eine vorhandene ODBS-Konfiguration verändert werden, die vorab in der Auswahl markiert werden muss.\\ {{:​produkte:​cad:​planung:​odbs0017.gif?​nolink|}}\\ \\ 
 +  - Das Programm aktiviert bzw. deaktiviert die Eingabefelder,​ so dass keine falschen Eingaben gemacht werden können und lässt eine Bestätigung durch **[OK]** erst dann zu, wenn eine sinnvolle Konfiguration entstanden ist. Dazu müssen folgende Felder ausgefüllt werden: Titel der Konfiguration,​ Verwendeter ODBC-Treiber,​ Auswahl-SQL und Gruppen-SQL. Alle weiteren Felder sind optional.\\ {{:​produkte:​cad:​planung:​odbs0016.gif?​nolink|}}
 +  - **Titel der Konfiguration** ist der Name, der bei der Auswahl der Datenbankkonfiguration eingegeben bzw. angezeigt wird. Er dient auch gleichzeitig als Dateiname für die Konfiguration und als Titel der Dialogbox zur Abfrage des Textparameters.\\ Je nach verwendeter Datenquelle muss entweder ein **Dateiname** oder mindestens ein **Auswahl-SQL** Befehl eingegeben werden.\\ **Gruppen-SQL** muss mindestens einen gültigen Befehl enthalten. ​
 +  - Bei **Verwendeter ODBC-Treiber** wird eine Auswahl aller verfügbarer ODBC-Treiber angezeigt. Wählen Sie den zugehörigen ODBC-Treiber aus, den Sie zuvor angelegt haben (siehe [[Anwendungsbeispiele]] > Neuen ODBC-Treiber einrichten).\\ {{:​produkte:​cad:​planung:​odbs0015.gif?​nolink|}}\\ \\ 
 +  - Nach Auswahl eines ODBC-Treibers prüft DATAflor CAD , ob Benutzername und Passwort notwendig sind und öffnet ggf. einen Dialog zur Eingabe (siehe [[Arbeitshinweise]] > Passwortschutz).\\ **Datenbankdatei** hat unterschiedliche Bedeutungen:​ Hier wird der Textparameter eingegeben, der in den SQL-Befehlen mit !#! verwendet werden kann, oder es kann eine fixe Datei vorgeben werden, was allerdings schon durch den ODBC-Treiber geschehen sein kann. **Suchen...** hat derzeit keine Bedeutung und ist gegraut.\\ **Auswahltitel** ist der Text, der bei der Anwendung der ODBS-Konfiguration als Titel des Auswahldialogs angezeigt wird. Dieser Text wird ebenfalls als Titel der Box zur Abfrage des Textparameters verwendet.
 +  - Nach Bestätigung des Dialoges mit **[OK]** wird abgefragt, ob die Konfiguration getestet werden soll. Wird dies mit **[Nein]** bestätigt, wird die Konfiguration verlassen und die Konfigurationsdatei gespeichert. Wird die Abfrage mit **[Ja]** bestätigt, so erscheint zunächst der Auswahldialog bzw. die Dateiauswahl und anschließend eine Statistik über die Ergebnisse der SQL-Befehle bzw. die erzeugten Fehlermeldungen. Werden die Meldungen markiert, erscheint im unteren Bereich die Erläuterung.\\ \\ {{:​produkte:​cad:​planung:​odbs0014.gif?​nolink|}}
 +
 +----
 +
 +===== Eingabe der SQL-Befehle =====
 +
 +Mit **Anhängen...**,​ **Erstellen...**,​ **Bearbeiten...** und **Entfernen...** werden neue bzw. vorhandene SQL-Befehle eingefügt, geändert und gelöscht.
 +
 +Alle SQL-Befehle werden über den gleichen Dialog **SQL-Befehl erstellen** angelegt. Dort können diese aus Tabellen- und Spaltennamen zusammengesetzt oder im Feld **SQL-Befehl** manuell eingegeben werden. Bei der manuellen Eingabe kann jede Syntax verwendet werden, die der ODBC-Treiber unterstützt.
 +
 +{{:​produkte:​cad:​planung:​odbs0013.gif?​nolink|}}
 +
 +Sobald in der oberen Auswahl eine Datenbanktabelle ausgewählt oder eingegeben wird, kann über **[Spalte >]** automatisch auf die Spalten der Tabelle zugegriffen werden. Bei einer Auswahl wird die Spalte übernommen,​ die Tabellenauswahl gegraut und der SQL-Befehl automatisch erstellt.
 +
 +<WRAP round tip 90%>
 +Bei einigen Syntaxkonstrukten ist DATAflor CAD nicht in der Lage, die selektierten Spalten oder die Tabelle eindeutig zu erkennen und im Dialog **SQL-Befehl erstellen** korrekt zu interpretieren. Dadurch wird die Leistungsfähigkeit dieses Dialogs vermindert. Bei der Ausführung der Datenbankanbindung spielt dies jedoch keine Rolle.
 +</​WRAP>​
 +
 +Für die Ansteuerung der Datenbank stehen fünf verschiedene SQL-Eingabebereiche zur Verfügung:
 +|**Auswahl-SQL**|Ein oder mehrere Auswahl-SQL Befehle erstellen eine Liste von möglichen Teilmengen von Datensätzen aus einer Datenbank. Bei der Kopplung einer Datenbank an eine Zeichnung kann dann aus dieser Liste eine Auswahl für die Anbindung an DATAflor CAD getroffen werden. Auswahl-SQL trägt den ausgewählten Datensatz in einer Massenbaumstruktur als obersten Eintrag ein.|
 +|**Gruppen-SQL**|Wiederum beliebig viele Gruppen-SQL Befehle erzeugen die Baumstruktur,​ die im **Objekt-Manager** angezeigt wird.|
 +|**Grafik-SQL**|Sofern die angebundene Datenbank Grafikinformationen enthält, können diese in der Anbindung berücksichtigt werden. Es können ein Schraffurname,​ die Farbe und ein Faktor ausgelesen werden. Im Unterschied zu Auswahl- und Gruppen-SQL gibt es nur einen Grafik-SQL Befehl für alle Ebenen.|
 +|**Objekt-SQL**|Der Objekt-SQL Befehl definiert die Erzeugung von grafischen Objekten in der Zeichnung bei der Anbindung einer Datenbank. Im Unterschied zu Auswahl- und Gruppen-SQL gibt es nur einen Objekt-SQL Befehl für alle Ebenen.|
 +|**Mengen-SQL**|Hier handelt es sich um zwei SQL-Befehle mit unterschiedlicher Bedeutung. **MENGENSQL1** liest die Mengeneinheit aus bzw. definiert die Objekteigenschaft,​ welche in die Datenbank eingetragen werden soll. **MENGENSQL2** ist für den Eintrag der Menge in die Datenbank notwendig.|
 +
 +<WRAP round tip 90%>
 +In den meisten Fällen wird nur Auswahl-, Gruppen- und Mengen-SQL benötigt (z.B. für alle Anbindungen von Kalkulationsprogrammen,​ da hier keine grafische Steuerung vorgesehen ist).  ​
 +Grafik- und Objekt-SQL Befehle verlangen eine sehr genaue Vorgabe in der Datenbank, die nicht immer durch den Fremdhersteller realisiert ist.
 +</​WRAP>​
 +
 +----
 +
 +===== Übersicht wichtiger SQL-Befehle =====
 +
 +Innerhalb der Eingabefelder in dem Konfigurationsdialog können alle gängigen SQL-Befehle frei eingegeben werden. Hierfür ist die Kenntnis der SQL-Befehlseingabe Voraussetzung. Einige wichtige Statements sind hier kurz aufgeführt:​
 +
 +^SQL Stichwort^ClassWizard und Datenbankenklassen benutzen es ...^
 +|SELECT|um zu identifizieren,​ welche Tabellen und Spalten in der Datenquelle verwendet werden sollen.|
 +|WHERE|um einen Filter anzuwenden, der die Auswahl eingrenzt.|
 +|ORDER BY|um eine Sortierungsreihenfolge auf den Datensatz anzuwenden.|
 +|INSERT|um neue Daten zu einem Datensatz beizufügen.|
 +|DELETE|um Daten von einem Datensatz zu löschen.|
 +|UPDATE|um die Felder eines Datensatzes zu verändern.|
 +
 +Genauere Informationen sowie die Befehlssyntax können der empfohlenen Fachliteratur entnommen werden (siehe [[Datenbankanbindung]]). ​
 +
 +===== Weitere Schritte =====
 +[[Arbeitshinweise]]\\ ​
 +[[Anwendungsbeispiele]]\\ ​
 +[[Eingabe der SQL-Befehle]]\\ ​