Mit dem Skriptmodul können Objekte aus einer MySQL-Datenbank via ODBC gelesen werden. Der Modul unterstützt speziell die OGC Option von MySQL für räumliche Daten.
MYSQLIN unterstützt die Geometry-Typen
POINT,LINESTRING,POLYGON
von MySQL nach der OGC
Simple Feature Specification.
Der Modul wird mit:
|INCL \script\mysqlin.mod
in einer ICS RUN1-Konfiguration verfügbar gemacht.
Der Modul MYSQLIN ist eine Erweiterung des Moduls DBIN. Alle im Modul DBIN beschriebenen Anteile gelten auch für das Modul MYSQLIN. Ziehen Sie deshalb auch die Dokumentation des Modules DBIN bei.
Folgende Parameter können in der Map DB_PARAM für den Modul gesetzt werden:
Parameter | req/opt | Beschreibung |
SOURCE | o | ODBC-Source der Datenbank. Muss gesetzt werden, falls die ODBC-Source nicht interaktiv abgefragt wird. |
USER | o | Datenbank User für die Verbindung mit der ODBC-Source. Muss gesetzt werden, falls die ODBC-Source nicht interaktiv abgefragt wird. |
PASSWORD | o | Datenbank Password für die Verbindung mit der ODBC-Source. Muss gesetzt werden, falls die ODBC-Source nicht interaktiv abgefragt wird. |
TRACE | o | ON oder OFF, Default = OFF. Für jedes gelesene Objekt eine Zeile ausgeben. |
Folgende Parameter können in der Map DBIN_PARAM für den Modul gesetzt werden:
Parameter | req/opt | Beschreibung |
STATISTICS | o | ON oder OFF, Default = OFF. Statistik anzeigen. |
SELECT_PARSE | o | ON oder OFF ,
Default = ON . Definiert, ob ein
eventuelles SQL-select Statement geparst werden soll. Als
Argument für für das Modul kann ein SQL-select Statement
definiert werden. Als Default wird dieses select-Statement
von geparst , um spezielle Attribute zu erkennen, die vom
ODBC-Treiber nicht unterstützt werden und speziell gelesen
werden müssen. Manchmal können select-Statements (komplexe
Joins) nicht erfolgreich geparst werden. In solchen Fällen
ist dieser Parameter auf OFF zu schalten.
Sie müssen besorgt sein, dass das select-Statement von ODBC
verarbeitet werden kann. |
Folgende Parameter können in der Map MYSQLIN_PARAM für den Modul gesetzt werden:
Parameter | req/opt | Beschreibung |
SPATIAL_PROCESS | o | ON oder OFF, Default = OFF. Definiert ob Spatial Geometrien gelesen werden sollen. Mit OFF werden die Geometrien nicht gelesen. Mit ON werden die Geometrien gelesen. |
Für die Anwendung der Spatial Extension von MySQL ist die enstprechende Dokumentation von MySQL zu beachten.
Der Modul liefert pro IN-Objekt folgende Systemkomponenten:
Komponente | req/opt | Beschreibung |
IN.TABLE(s) | r | Tablename des IN Objekts. |
IN.<Geometry>(g) | o | Ein Geometrie-Attribut wird mit demselben Namen wie in der Datenbank geliefert. Der enthaltene Wert entspricht einer ICS-Geometrie vom Typ point, line oder area oder Listen von Geometrien. |
IN.<Geometry>_OGCWKT_GEOMETRY(s) | o | Zusätzlich zu einem Geometrie-Attribut wird in einem Attribut mit dem Suffix _OGCWKT_GEOMETRY die OGC Geometrie als OGC-WKT-String geliefert (WKT: Well Known Text nach OGC Simple Feature Specification). |
Alle weiteren Komponenten sind abhängig von der Tabellen-Definition in der Datenbank.
Der Modul beinhaltet alle Prozeduren und Methoden wie der Modul DBIN. Ziehen Sie deshalb die Dokumentation des Modules DBIN bei. Zusätzlich stellt der Modul MYSQLIN folgende Prozeduren und Methoden zur Verfügung.
Prozedur | MYSQLIN_OPEN [s input][] |
Beschreibung | Öffnet eine Datenbank definiert
mit DB_PARAM.SOURCE und liest Objekte von
der Datenbank in Abhängigkeit von
<input> . Für
<input> können folgende Werte
verwendet werden. *Liest alle Tabellen der
Datenbank.<tablename>Liest die Records der definierten
Tabelle.<tablename>,<sql-select-statement>Liest
die Records der definierten Tabelle entsprechend dem
SQL-select-Statement. Beinhaltet das SQL-select-Statement
Hochkommas für Strings so sind die Hochkommas ' durch
Anführungszeichen " zu ersetzen.Die Prozedur wird von RUN1
automatisch aufgerufen. |
Beispiel |
|
|
Prozedur | MYSQLIN_READ_OBJECT [][b state] |
Beschreibung | Liest das nächste IN-Objekt aus der geöffneten Datenbank-Tabelle. Die Prozedur wird von RUN1 automatisch aufgerufen. |
Beispiel |
|
Prozedur | MYSQLIN_CLOSE [][] |
Beschreibung | Schliesst den Modul und gibt die durch den Modul belegten Resourcen wieder frei. Die Prozedur wird von RUN1 automatisch aufgerufen. |
Beispiel |
|
Methode | OGC.WKT2GEOM [s ogc-wkt-geometry][g|li ics-geometry] |
Beschreibung | Übersetzt eine OGC-WKT-Geometrie als String in eine ICS-Geometrie.Folgende Typen werden zurückgegeben: POINT,LINESTRING,POLYGION,MULTIPOINT,MULTILINESTRING,MULTIPOLYGON,GEOMETRYCOLLECTION. (WKT: Well Known Text nach OGC Simple Feature Specification). |
Beispiel |
|
Folgende Konversionen werden durchgeführt:OGC-pointto pointOGC-linestringto lineOGC-polygonto areaOGC-multipointto list of pointsOGC-multilinestringto list of linesOGC-multipolygonto list of areasOGC-geometrycollectionto list of points und/oder lines und/oder areas |
! Diese ICS Konfiguration zeigt alle von mysqlin.mod ! gelesenen Objekte in der .log Datei an. |LICENSE \license\iltools.lic MAP USER_INPUT1 DIALOG => ODBC OPT => input END_MAP MAP DB_PARAM SOURCE => '' ! ODBC-Source USER => '' ! ODBC-User PASSWD => '' ! ODBC-Password TRACE => OFF END_MAP MAP DBIN_PARAM STATISTICS => ON END_MAP MAP MYSQLIN_PARAM SPATIAL_PROCESS => ON END_MAP MAP INPUT_SOURCES I1 => MYSQLIN,* END_MAP MAP INOUT I1 => DISPLAY_IN0 END_MAP |INCL \script\mysqlin.mod |INCL \script\db2il\dbdisplay.out |INCL \script\run1.prg