21. Modul SQLITEIN - SQLite-Datenbank lesen

21.1. Allgemeines

Mit dem Skriptmodul können Objekte aus einer SQLite-Datenbank gelesen werden.

Insbesondere werden die Spezifikationen von OGC Geopackages (Vektor-Geometrien) unterstützt.

Der Modul wird mit:

|INCL \script\sqlitein.mod

in einer ICS RUN1-Konfiguration verfügbar gemacht.

21.2. Parametermap SQLITEIN_PARAM

Folgende Parameter können in der Map SQLITEIN_PARAM für den Modul gesetzt werden:

Parameterreq/optBeschreibung
STATISTICSoON oder OFF, Default = OFF. Statistik anzeigen.

21.3. Objektmodell

Der Modul liefert pro IN-Objekt folgende Systemkomponenten:

Komponentereq/optBeschreibung
IN.TABLE(s)rTablename des IN Objekts.

Alle weiteren Komponenten sind abhängig von der Tabellen-Definition in der Datenbank.

21.4. Datenbankmodell

Die Methode DB.GET_INFO liefert das Datenmodell der Datenbank in einer Objektstruktur. Auf die einzelnen Komponenten dieser Objektstruktur kann zugegriffen werden.

Anwendung der Methode DB.GET_INFO:

MAP DB_MODEL
END_MAP

&DB_MODEL SQLITE.GET_INFO

Objektstruktur Datenmodell:

DB_MODEL (m)
   DB_NAME     -> (s) <Name>
   DB_USER     -> (s) <DB-User>
   DB_PASSWORD -> (s) <DB-Password>
   PRODUKT     -> (s) <Produkt>
   VERSION     -> (s) <Version>
   TABLES      -> (m)
      : 
      <Tablename> -> (m)
         TABLENAME      -> (s) <Tablename>
         TABLETYPE      -> (s) <Tabletype>
         COLUMNS        -> (m)
            : 
            <Columnname> -> (m)
               NAME       -> (s) <Name>
               TYPENAME   -> (s) <Typename>
               NULLABLE   -> (b) <Nullable>
               PRIMARYKEY -> (b) <Primary Key>

Zugriffsbeispiele Objektstruktur Datenmodell:

! Display User,Product,Version
DISPLAY DB_MODEL

! Display Tables
DISPLAY DB_MODEL.TABLES

! Display Table MyTable
DISPLAY DB_MODEL.TABLES.MyTable

! Display Columns of Table MyTable
DISPLAY DB_MODEL.TABLES.MyTable.COLUMNS

! Display Column MSLINK of Table MyTable
DISPLAY DB_MODEL.TABLES.MyTable.COLUMNS.MyColumn

! Display Typename of Column MyColumn of Table MyTable
DISPLAY DB_MODEL.TABLES.MyTable.COLUMNS.MyColumn.TYPENAME

21.5. Exportierte Prozeduren und Methoden

ProzedurSQLITEIN_OPEN [s input][]
Beschreibung

Öffnet eine Datenbank und liest Objekte von der Datenbank in Abhängigkeit von <input>.

Die Prozedur wird von RUN1 automatisch aufgerufen.

Beispiel
OPT.input SQLITEIN_OPEN
ProzedurSQLITEIN_READ_OBJECT [][b state]
Beschreibung

Liest das nächste IN-Objekt aus der geöffneten Datenbank. Die Prozedur wird von RUN1 automatisch aufgerufen.

Beispiel
SQLITE_READ_OBJECT [TRUE]
ProzedurSQLITEIN_CLOSE [][]
BeschreibungSchliesst den Modul und gibt die durch den Modul belegten Resourcen wieder frei. Die Prozedur wird von RUN1 automatisch aufgerufen.
Beispiel
SQLITEIN_CLOSE

21.6. Skriptbeispiel

! Diese ICS Konfiguration zeigt alle von SQLITEIN
! gelesenen Objekte in der .log Datei an.

|LICENSE \license\iltools.lic

MAP USER_INPUT1
   DIALOG        => FILE
   MESSAGE       => 'Enter SQLITE Input File'
   FILE_FILTER   => gpkg;db
   FILE_EXISTS   => TRUE
   OPT           => input
END_MAP

MAP SQLITEIN_PARAM
   STATISTICS     => ON
END_MAP

MAP INPUT_SOURCES
   I1 => SQLITEIN,OPT.input
END_MAP

MAP INOUT
   I1 => DISPLAY_OBJECT1,IN
END_MAP

|INCL \script\sqlitein.mod
|INCL \script\run1.prg