Inhalt
Index
Support Über uns
Home

8.1 DSN oder Connection-String in COBOL verwenden



Bevor man mit einer Datenbank arbeiten kann, muß man sich einloggen. Dazu benötigt man den Namen des Computers(SERVERNAME) auf dem die Datenbank läuft, ein Passwort, einen Usernamen und entweder einen sog. Connection-String oder einen DSN (Data Source Name).


8.1.1 Arbeiten mit DSN



Arbeitet man mit DSN, so wird in Windows die Verbindung zur Datenbank seperat aufgebaut:

Start -> Systemsteuerung -> Verwaltung -> Datenquelle (ODBC)

Dort wird der Name des Dienstes (DSN), sowie der zugehöriger Treiber festgelegt.

Für Acc-Cobol müssen bei Verwendung von DSN die Anmeldedaten in der Umgebungsvariablen CDBNAME in folgendem Format hinterlegt werden:


 
Format:
CDBNAME=SERVERNAME:DSN:USERNAME:PASSWORT


Angenommen die Datenbank befindet sich auf dem Computer dbserver, der User ist scott und das Passwort tiger und die DSN wurde als mydb festgelegt, dann muss


 
Format:
set CDBNAME=dbserver:mydb:scott:tiger


vor dem Aufruf des Cobolprogramms gesetzt werden.

Alternativ hierzu kann auch im Programm der Call


 
Format:
call setenv using 'cdbname' 'dbserver:mydb:scott:tiger'.


gesetzt werden.


Bei dem ersten Verwenden eines Datenbankbefehls wird der Login automatisch durchgeführt.


Dieser Parameter (CDBNAME) kann auch in der Datei db.def in der Installationsdirectory

Programme\Acc\Acc-Cobol\cobol

hinterlegt werden.


8.1.2 Connection-String



Die zweite Möglichkeit eine Verbindung zur Datenbank aufzubauen geschieht mit dem Connection-String.

Der Connection-String legt alle Parameter fest, die zum Verbindungsaufbau zur Datenbank notwendig sind.

Dieser Connection-String ist für jeden Treiber unterschiedlich, bietet aber eine größere Flexibilität als nur mit DSN, da die Parameter dort für alle Programme festgelegt werden.

Als Beispiel ein Verbindungsaufbau zu eine MySql-Server:

        move space to cstring.
        string  'Driver={MySQL ODBC 5.1 Driver};'
                'Server=dbserver;'
                'Database=test;'
                'User=scott;'
                'Password=tiger;'
                'Option=3;'
       into cstring.



Dieser Connection-String wird dann für die Öffnung benötigt:


 
Format:
call dbconnect using dbstatus cstring.


wobei dbstatus ein numerisches Feld ist und cstring den Connection-String beinhalten muß.

Sollte die Verbindung nicht gelingen, wird in dbstatus ein entsprechender Fehlerstatus abgestellt.



8.1.3 Fehlerprotokollierung




Mit der Umgebungsvariablen CDBLOG kann der Name einer Tabelle hinterlegt werden, in der eventuelle Fehler abgestellt werden.

Diese Tabelle kann mit crerrtab angelegt werden.

Für fehlerhafte Transaktionen wird hier die Partition, der Programmname, Datum, Uhrzeit, User,Tabelle, Statement, sowie Fehlermeldung des Datenbanktreibers hinterlegt.


8.1.4 Parameterdatei



Die Parameter können auch in der Datei db.def in der Installationsdirectory

Programme\Acc\Acc-Cobol\cobol

mit folgendem Format hinterlegt werden:


 
Format:
Inhalt von db.def:

CDBNAME = SERVERNAME:DSN:USERNAME:PASSWORT





Zurück zu Acc-Cobol: Intrinsic Functions - Summenfunktionen    Hoch zu Datenbank und Cobol    Weiter zu SQL-Statement absetzen
Entwickler Portal Impressum AGB Kontakt


© 1980-2017 Acc Computertechnik GmbH All rights reserved.