Mit den DB-Methoden kann auf eine relationale Datenbank via ODBC oder RIS (nur Microstation) zugegriffen werden. Die Klasse DB muss nicht mit |LOAD geladen werden.
Methode | DB.CONNECT [s driver,s db,s user,s password] [b status] |
Beschreibung | Die Methode DB.CONNECT stellt die Verbindung mit einer Datenbank her. Es kann nur eine Datenbank gleichzeitig verbunden werden. Für <driver> sind im Moment die Werte 'MSDB' oder 'ODBC' zulässig. Mit 'MSDB' kann eine unter Microstation konfigurierte Datenbank angesprochen werden. Die weiteren Parameter haben je nach Datenbank eine andere Bedeutung. Unter RIS muss für <db> das RIS-Schema angegeben werden. Mit einer direkten Microstation-Oracle Verbindung muss für <db> der Oracle-Connectstring angegeben werden (inkl. Benutzer und Passwort z.B. ‘scott/tiger@t:alfa:db1’). Mit 'ODBC' kann eine ODBC fähige Datenbank angesprochen werden. Der ODBC Treiber muss unter Windows installiert worden sein. Für den Parameter <db> muss eine ODBC-Quelle angegeben werden, für <user> und <password> ein gültiger Benutzername mit Passwort (falls die Datenbank dies verlangt). Bei einer ODBC Datenbank kann an Stelle der Datenquelle in <db> auch ein ODBC Connect String angegeben werden (s.a. Dokumentation zu "ConfigDataSource" im ODBC Treiber). Für MS-Access sieht der ODBC Connect String z.B. wie folgt aus: DRIVER={Microsoft Access Driver (*.mdb)};DBQ=e:\geoshop.mdb Wird über einen ODBC Connect String mit der ODBC Datenbank verbunden, muss unter Windows keine ODBC Datenquelle vorhanden sein. Dieses Verfahren funktioniert jedoch nicht unbedingt mit jeder ODBC Datenbank. Mindestens für Microsoft Jet Datenbanken (d.h. MS-Access oder MS-Excel) ist das beschriebene Verfahren jedoch möglich. Bemerkung: unter Microstation 95 können ODBC-Datenbanken auch über den 'MSDB' Treiber angesprochen werden |
Beispiel |
|
Methode | DB.DISCONNECT [] [] |
Beschreibung | Baut die Verbindung zu der
zuletzt mit DB.CONNECT verbundenen
Datenbank wieder ab. |
Beispiel |
|
Methode | DB.IS_CONNECTED [] [b state] |
Beschreibung | Prüft ob eine Datenbankverbindung besteht. |
Beispiel |
|
Methode | DB.OPEN_CURSOR [s selectstmt] [i cursor, b status] |
Beschreibung | Öffnet einen Datenbankcursor <cursor>. <selectstmt> muss ein gueltiges SQL-Selectstatement sein. Das Ergebnis von DB.OPEN_CURSOR kann mit DB.FETCH_ROW abgefragt werden. Bemerkung: wegen eines Fehlers im RIS-Microstation Treiber kann unter Microstation V5.0 nur ein Cursor gleichzeitig geöffnet werden. |
Beispiel |
|
Methode | DB.FETCH_ROW [i cursor, m map] [b status] |
Beschreibung | liefert einen Record von <cursor> in <map> zurück. Die Attributnamen werden als Komponentennamen eingetragen. |
Beispiel |
|
Methode | DB.FETCH_VALUE [s selectstmt] [* value,b status] |
Beschreibung | Liefert einen Wert in <value> zurück. Es wird automatisch ein Cursor für das Selectstatement geöffnet und geschlossen. Das Selectstatement <selectstmt> muss so formuliert worden sein, dass es nur einen Wert zurückliefert. Falls <status> FALSE ist, wird kein Wert zurückgeliefert. |
Beispiel |
|
Methode | DB.CLOSE_CURSOR [i cursor] [] |
Beschreibung | Schliesst einen Datenbankcursor <cursor>. |
Beispiel |
|
Methode | DB.EXEC_SQL [s sqlstmt][b status] |
Beschreibung | Führt das SQL-Statement <sqlstatement> aus. |
Beispiel |
|
Methode | DB.INSERT_ROW [m map][b status] |
Beschreibung | Speichert die Map <map> als neuen Datensatz in der Datenbank. In der Map <map> muss in der Komponente TABLE der Name der Datenbanktabelle stehen. Alle weiteren Komponentennamen müssen gültige Attributnamen sein. |
Beispiel |
|
Methode | DB.GET_ODBC_SOURCES [m map][] |
Beschreibung | Liefert in der Input-Map alle zur Vefügung stehenden ODBC-Sourcen. Eine Datenbankverbindung muss nicht bestehen. |
Beispiel |
|
Methode | DB.ODBC_SOURCE_EXISTS [s source][b status] |
Beschreibung | Testet ob die ODBC-Datenquelle <source> existiert. |
Beispiel |
|
Methode | DB.CREATE_ODBC_SOURCE [b system,m map][b status] |
Beschreibung | Erzeugt eine ODBC-Datenquelle.
Mit <system> kann angegeben werden, ob eine System
Datenquelle (TRUE ) oder eine Benutzer
Datenquelle (FALSE ) eingerichtet werden
soll. In <m> wird der ODBC-Treiber
(DRIVER), die Datenquelle (DSN) und die Parameter des
ODBC-Treibers angegeben. Die Treiberparameter sind der
Beschreibung des ODBC-Treibers dokumentiert (z.B.
\windows\system32\odbcjet.hlp unter "ConfigDataSource" für
MS-Access oder MS-Excel). Hinweis: Die Methode funktioniert
nur, wenn der ODBC-Treiber die Funktion "ConfigDataSource"
vollständig unterstützt. |
Beispiel |
|
Methode | DB.DELETE_ODBC_SOURCE [b system,s source] [b status] |
Beschreibung | Löscht die angegebene ODBC-Datenquelle <source>. Mit <system> wird angegeben ob es sich bei der Datenquelle um eine System-Datenquelle (TRUE) oder um eine Benutzer-Datenquelle (FALSE) handelt. Hinweis: Die Methode funktioniert nur, wenn der ODBC-Treiber die Funktion "ConfigDataSource" vollständig unterstützt. |
Beispiel |
|
Methode | DB.GET_PRODUCT [][s Version, s Produkt] |
Beschreibung | Gibt das Produkt und die Version der Datenbank zurück. Eine Datenbankverbindung muss mit DB.CONNECT erstellt sein. Funktioniert zur Zeit nur mit dem ODBC-Treiber. |
Beispiel |
|
Methode | DB.GET_INFO [m map] [] |
Beschreibung | Liefert in der Input-Map Datenbankinformationen. Eine Datenbankverbindung muss mit DB.CONNECT erstellt sein. Funktioniert zur Zeit nur mit dem ODBC-Treiber. Der Aufbau der Informationen in der Input-Map wird wie folgt geliefert: MAP DB_INFO |
Beispiel |
|
Methode | DB.SET_CASE_SENSITIVE [b sensitive][] |
Beschreibung | Definiert ob Tabellen- und
Attributnamen Case-Sensitive - Klein- und Grossschreibung-
(<sensitive> = TRUE) verarbeitet
werden sollen oder nicht (<sensitive> =
FALSE . Per Default ist die Verarbeitung
nicht Case-sensitive. |
Beispiel |
|
Methode | DB.SET_SILENT [b silent][] |
Beschreibung | Sollen Datenbankmeldungen
unterdrückt (<silent> =TRUE ) oder
nicht unterdrückt (<silent> =FALSE )
werden. Per Default werden die Meldungen nicht
unterdrückt. |
Beispiel |
|
Methode | DB.COMMIT [][] |
Beschreibung | Führt ein sql-commit auf der Datebank aus, falls die Datenbank diesen Befehl verarbeiten kann. |
Beispiel |
|
Methode | DB.ROLLBACK [][] |
Beschreibung | Führt ein sql-rollback auf der Datebank aus, falls die Datenbank diesen Befehl vearbeiten kann. |
Beispiel |
|