Mit diesem Natural-Profilparameter können Sie die Parameter für die
Datenbank-Verwaltungssystem-Schnittstelle (Natural DBMS Interface)
Natural for DB2 angeben. Er
entspricht dem Makro NTDB2
im
Natural-Parametermodul.
Mögliche Werte | Siehe DB2-Parameter-Syntax. | |
---|---|---|
Standard-Einstellung | Siehe Schlüsselwort-Subparameter. | |
Dynamische Angabe | ja | Der Parameter DB2 kann nur
dynamisch angegeben werden. Im
Natural-Parametermodul
muss stattdessen das entsprechende Makro
NTDB2
verwendet werden.
|
Angabe innerhalb der Session | nein |
Dieses Dokument behandelt folgende Themen:
Der Profilparameter DB2
wird wie folgt
angegeben:
DB2=(keyword-subparameter=value,keyword-subparameter=value,...) |
Siehe Schlüsselwort-Subparameter.
Das Makro NTDB2
wird wie folgt angegeben:
NTDB2 BTIGN=value, * CONVERS=value, * CONVRS2=value, * DB2COLL=value, * DB2GROV=value, * DB2PLAN=value, * DB2SSID=value, * DB2XID=value, * DDFSERV=value, * DELIMID=value, * EBPFSRV=value, * EBPMAX=value, * EBPPRAL=value, * EBPSEC=value, * ETIGN=value, * FSERV=value, * MAXLOOP=value, * MF=value, * NNPSF=value, * PSCIGN=value, * REFRESH=value, * RETRYPO=value, * RWRDONL=value, * SMFSRV=value, * STATDYN=value
Siehe Schlüsselwort-Subparameter.
Es gibt zwei Gruppen von Schlüsselwort-Subparametern:
BTIGN
| CONVERS
| CONVRS2
|
DDFSERV
|
DELIMID
|
EBPFSRV
|
EBPPRAL
|
EBPSEC
|
EBPMAX
|
ETIGN
|
FSERV
|
MAXLOOP
|
MF
|
NNPSF
|
PSCIGN
|
REFRESH
|
RETRYPO
|
RWRDONL
|
SMFSRV
|
STATDYN
Die folgenden Schlüsselwort-Subparameter gehören zusammen. Sie gelten nur bei DB2 für z/OS in Umgebungen, in denen CAF und RRSAF verwendet wird.
DB2COLL
|
DB2GROV
|
DB2PLAN
|
DB2SSID
|
DB2XID
Anmerkungen:
NATPLAN
verfügbar gemacht wurden. Diese Parameter
gelten nur bei DB2 für z/OS und für Umgebungen, in denen entweder die DB2 Call
Attachment Facility (CAF) oder die DB2 Resource Recovery Services Attachment
Facility (RRSAF) verwendet wird.
COLLID
bereitstellt.
Somit werden die hier erwähnten Schlüsselwort-Subparameter in einer Natural for
DB2 Stored Procedure-Umgebung nicht benutzt. Bevor in einer CAF oder
RRSAF-Umgebung der allererste DB2 SQL-Zugriff durch Natural erfolgt, stellt
Natural die Verbindung zu dem gewünschten DB2-Subsystem (DB2SSID
)
her, und es erfolgt die Zuordnung des gewünschten Plans
(DB2PLAN
).
NATPLAN
mit DB2 verbunden wurde, werden die Parameter in
NTDB2
bzw. DB2
ignoriert, und es
wird die schon bestehende Verbindung benutzt.
BTIGN=value
ermöglicht es,
den Fehler zu ignorieren, der dadurch verursacht wurde, dass ein
BACKOUT
TRANSACTION
-Statement für die Rückgängigmachung der aktuellen
Transaktion zu spät abgesetzt wurde, weil zuvor schon ein impliziter Syncpoint
vom TP-Monitor abgesetzt worden war.
Wert: | Erklärung: |
---|---|
ON |
Der Fehler nach einem zu spät
abgesetzten BACKOUT TRANSACTION wird ignoriert.
Dies ist der Standardwert. |
OFF |
Der Fehler nach einem zu spät
abgesetzten BACKOUT TRANSACTION wird nicht ignoriert.
|
Anmerkung:
Dieser Subparameter ist nur in CICS- und IMS TM-Umgebungen
relevant.
CONVERS=name
ermöglicht
den konversationalen Modus in CICS-Umgebungen, in denen kein Natural File
Server verwendet wird.
Wert: | Erklärung: |
---|---|
ON |
Konversationaler Modus ist erlaubt.
Dies ist der Standardwert. |
OFF |
Konversationaler Modus ist not erlaubt. |
Anmerkungen:
OFF
gesetzt ist
und kein Natural File Server verwendet wird, können Sie keine
Datenbankschleifen über Terminal-Ein-/Ausgaben hinweg fortsetzen; in diesem
Fall können folgende Schlüssel auftreten.
CONVRS2=value
dient dazu,
in CICS-Umgebungen den konversationalen Modus 2 zuzulassen bzw. nicht
zuzulassen.
Wert: | Erklärung: |
---|---|
ON |
Der konversationale Modus 2 ist gestattet. |
OFF |
Der konversationale Modus 2 ist
nicht gestattet.
Dies ist der Standardwert. |
Anmerkungen:
COMMIT
oder explizites
ROLLBACK
-Statement abgesetzt worden ist (Vorsicht: DB2- und
CICS-Ressourcen werden über Terminal-Ein-/Ausgaben beibehalten!). Das bedeutet,
dass CONVRS2=ON
die gleiche Wirkung hat wie der
Natural-Profilparameter PSEUDO=OFF
, aber mit der
Ausnahme, dass der konversationale Modus nach einem
DB2-Datenbank-Aktualiserungs-Statement (UPDATE
,
DELETE
, INSERT
) begonnen und nach einem
COMMIT
oder ROLLBACK
wieder beendet wird, während
PSEUDO=OFF
konversationalen Modus für die ganze Natural-Session
bewirkt.
CALLNAT
-Subprogramm
NDBCONV
(in der Database Management System
Interfaces-Dokumentation), mit dem der konversationale Modus 2
dynamisch gesetzt und zurückgesetzt werden kann.
DB2COLL=value
dient zur
Angabe des Collection-Namens von DB2-Paketen, die von der Anwendung in einer
Umgebung benutzt werden, in das RRSAF Interface eingesetzt wird.
Wert: | Erklärung: |
---|---|
value |
Ein gültiger, 18 Zeichen langer DB2 Collection-Name. |
' ' (leer) | Es ist kein Name angegeben. Dies ist der Standardwert. |
Anmerkungen:
DB2GROV=value
gibt an, ob
die durch DB2SSID
gekennzeichnete Verbindung zum DB2-System mit dem einzelnen DB2-Subsystem oder
mit der DB2 Sharing Group hergestellt werden soll, falls eine Sharing Group und
ein einzelnes DB2 mit identischer DB2SSID existiert.
Wert: | Erklärung: |
---|---|
' ' (leer) | Die Verbindung wird zu der durch
DB2SSID gekennzeichneten DB2 Sharing Group hergestellt.
Dies ist der Standardwert. |
NOGROUP |
Die Verbindung wird zu dem durch
DB2SSID gekennzeichneteen Subsystem hergestellt.
|
Anmerkungen:
DB2PLAN=value
dient zur
Angabe des Namens des von der Anwendung benutzten Plans.
Wert: | Erklärung: |
---|---|
value |
Ein gültiger, 8 Zeichen langer
DB2-Planname. Wenn das erste Zeichen ein Fragezeichen (?) ist und wenn die
Anwendung das RRSAF Interface benutzt, dann verwendet die Anwendung die Pakete,
die durch den Collection-Namen gekennzeichnet sind, der mit dem Subparameter
DB2COLL
angegeben wurde.
|
' ' (leer) | Es ist kein Name angegeben. Dies ist der Standardwert. |
Anmerkungen:
DB2SSID=value
gibt den
Namen der DB2 Sharing Group bzw. den Namen des DB2-Subsystems an, zu dem die
Verbindung hergestellt werden soll.
Wert: | Erklärung: |
---|---|
value |
Ein gültiger, 4 Zeichen langer Name einer DB2 Sharing Group oder eines DB2-Subsystems. |
' ' (leer) | Es ist kein Name angegeben. Dies ist der Standardwert. |
Anmerkungen:
DB2XID=value
gibt an, ob
das RRSAF Interface eine globale Transaktionskennung verwenden soll oder nicht.
Wert: | Erklärung: |
---|---|
ON |
RRSAF erzeugt eine globale
Transaktionskennung.
Dies ist der Standardwert. |
OFF |
RRSAF erzeugt keine globale Transaktionskennung. |
Anmerkungen:
DDFSERV=ddname
gibt
Folgendes an: Entweder einen DD-Namen für den Natural File Server (VSAM) oder
den Namen des gemeinsam genutzten Speicherobjekts, das als File Server
(SMFSRV=ON
) benutzt
wird.
Wert: | Erklärung: |
---|---|
ddname |
Jeder gültige 8 Zeichen lange DD-Name. |
CMFSERV |
Dies ist der Standard-Name. |
DELIMID=value
gibt das
Escape-Zeichen an, das für die Generierung von SQL-Begrenzungskennzeichen für
die Spaltennamen und Tabellennamen in SQL-Statements verwendet werden soll.
Wert: | Erklärung: |
---|---|
DQ |
Doppeltes Hochkomma ('') |
SQ |
Einzelnes Hochkomma (') |
OFF |
Begrenzungskennungen sind nicht aktiv.
Dies ist der Standardwert. |
Anmerkungen:
DELIMID
in doppelte (''
)
oder einzelne ('
) Hochkommas gesetzt werden.
DELIMID
angegebene
Escape-Zeichen und der SQL STRING DELIMITER
schließen
sich gegenseitig aus. Das impliziert, dass die zum Einschließen von
alphanumerischen Zeichenketten in SQL-Statements verwendete Markierung
(doppeltes oder einzelnes Hochkomma) unterschiedlich zu dem Wert sein muss, der
bei DELIMID
angegeben ist. Wenn Sie
Begrenzungskennzeichen ermöglichen, müssen Sie außerdem sicherstellen, dass der
bei DELIMID
angegebene Wert mit dem Begrenzungszeichen
für SQL-Zeichenketten in Ihrer DB2-Installation übereinstimmt.
RWRDONL
.
IIn dem folgenden Beispiel ist als Escape-Zeichen für das
Begrenzungskennzeichen ein doppeltes Hochkomma (''
) verwendet
worden:
Natural-Statement:
SELECT FUNCTION INTO #FUNCTION FROM XYZ-T1000
Generierte SQL-Zeichenkette:
SELECT "FUNCTION" FROM XYZ.T1000
EBPFSRV=value
gibt an, ob
der Natural File Server den
Software AG Editor buffer
pool als Speichermedium benutzt.
Wert: | Erklärung: |
---|---|
ON |
The Software AG Buffer Pool soll als
Speichermedium für den Natural File Server benutzt werden.
|
OFF |
Eine VSAM-Datei soll als Speichermedium
für den Natural File Server benutzt werden oder ein gemeinsam genutztes
Speicherobjekt oberhalb der Grenze wird als File Server
(SMFSRV=ON ) benutzt.
Dies ist der Standardwert. |
EBPMAX=value
gibt die
maximale Anzahl an Blöcken an, die für jeden Benutzer des Natural File Server
zugeordnet werden soll, wenn der
Software AG Editor buffer
poolals Speichermedium benutzt wird.
Wert: | Erklärung: |
---|---|
0 - 32676 |
Maximale Anzahl an Blöcken, die zugeordnet werden soll. |
100 |
Dies ist der Standardwert. |
Anmerkungen:
EBPFSRV
auf
OFF
gesetzt ist, wird EBPMAX
zur Laufzeit
nicht berücksichtigt.
EBPPRAL=value
gibt die
Anzahl an Blöcken an, die primär für jeden Benutzer des Natural File Server
zugeordnet werden soll, wenn der
Software AG Editor buffer
pool als Speichermedium benutzt soll.
Wert: | Erklärung: |
---|---|
0 - 32676 |
Anzahl an Blöcken, die primär zugeordnet werden soll. |
20 |
Dies ist der Standardwert. |
Anmerkung:
Wenn der Subparameter EBPFSRV
auf
OFF
gesetzt ist, wird EBPPRAL
zur Laufzeit
nicht berücksichtigt.
EBPSEC=value
der
Subparameter gibt die Anzahl an Blöcken an, die sekundär für jeden Benutzer des
Natural File Server zugeordnet werden soll, wenn der
Software AG Editor buffer
pool als Speichermedium benutzt soll.
Wert: | Erklärung: |
---|---|
0 - 32676 |
Anzahl an Blöcken, die primär zugeordnet werden soll. |
10 |
Dies ist der Standardwert. |
Anmerkungen:
EBPFSRV
auf
OFF
gesetzt ist, wird EBPSEC
zur Laufzeit
nicht berücksichtigt.
ETIGN=value
wird benutzt,
um END TRANSACTION
Statements in einer nachrichtenorientierten
IMS-Region (MPP oder nachrichtenorientiertes BPM) zu behandeln.
Wert: | Erklärung: |
---|---|
ON |
Der END
TRANSACTION -Fehler wird ignoriert, und die Verarbeitung wird
fortgesetzt.
Dies ist der Standardwert. |
OFF |
Der END TRANSACTION -Fehler
wird nicht ignoriert.
|
Anmerkungen:
END
TRANSACTION
Statement nicht durch das Natural IMS TM Interface
ausgeführt werden und wird deshalb ohne Benachrichtigung ignoriert. In solchen
Situationen kann der Subparameter ETIGN
benutzt werden,
um ersatzweise eine Fehlermeldung auszugeben.
FSERV=value
gibt an, ob
der Natural File Server benutzt werden soll und ob er im Falle eines
Initialisierungsfehlers gesperrt werden kann.
Wert: | Erklärung: |
---|---|
ON |
Der Natural File Server soll benutzt werden. |
OFF |
Der Natural File Server soll nicht
benutzt werden.
Dies ist der Standardwert. |
DIS |
Der Natural File Server soll benutzt werden, aber er soll gesperrt werden, wenn er nicht initialisiert werden kann. |
Anmerkungen:
FSERV
auf ON
gesetzt ist und wenn der Natural File Server nicht betriebsbereit ist, wird die
Initialisierung von Natural for DB2 mit einer entsprechenden
Natural-Fehlermeldung beendet. Das Natural for DB2 Interface wird deaktiviert,
und jeder SQL-Aufruf wird mit einer entsprechenden Fehlermeldung
zurückgewiesen.
MAXLOOP=nn
gibt die
maximal mögliche Anzahl an verschachtelten SQL-Datenbankzugriff-Statements
an.
Wert: | Erklärung: |
---|---|
1 - 99 |
Maximal mögliche Anzahl an Datenbankzugriff-Statements. |
10 |
Dies ist der Standardwert. |
MF=value
gibt die Anzahl
der Zeilen an, die von DB2 in einer FETCH
-Operation abgefragt
werden sollen. Der Subparameter MF
kann benutzt werden,
um Multi-Fetch-Operationen durch DB2 auf globaler Basis zu ermöglichen. Es sind
keine Änderungen am Anwendungsprogramm erforderlich.
Wenn MF
auf Null (0
)
gesetzt ist, enthalten DECLARE CURSOR
-Statements in dem statisch
generierten Programm keine WITHROWSET POSITIONING
-Klausel. Dadurch
wird, unabhängig von der Einstellung des
MF
-Subparameters in der ausführenden Natural-Session,
das Multi-Fetching während der Ausführung des statischen Programms
verhindert.
Programme, die vor der Einführung des
MF
-Subparameters statisch generiert werden, sind nicht
in der Lage, Multi-Fetch-Operationen auszführen, stattdessen wird
Single-Fetching verwendet. Wenn MF
auf einen Wert größer
als Null (0
) gesetzt ist, enthalten DECLARE
CURSOR
-Statements in dem statisch generierten Programm die
WITHROWSET POSITIONING
-Klausel. Bei diesen Programmen wird
Multi-Fetching verwendet, wenn der MF
-Subparameter in
der ausführenden Natural-Session einen Wert größer als Null (0
)
hat. Falls die ausführende Natural-Session mit MF=0
läuft,
verwenden diese Programme kein Multi-Fetching.
Wenn ein Natural for DB2-Programm in einem
FIND
-,
READ
- oder
SELECT
-Statement
bereits Multi-Fetch-Syntax verwendet, dann wird dieses Statement wie im
Programm angegeben ausgeführt und nicht durch den Subparameter
MF
beeinflusst. Unabhängig davon, ob eines dieser
Statements schon eine Multi-Fetch-Angabe hat, wird das Statement im
Multi-Fetch-Puffer einen Zwischenspeicherplatz für die Anzahl der im
Subparameter MF
angegebenen Zeilen benutzen.
FIND
-, READ
- und
SELECT
-Statements, die mit einem
Positioned
UPDATE
oder
Positioned
DELETE
in Verbindung stehen, verwenden keine
Multi-Fetch-Operationen — auch dann nicht, wenn der Subparameter
MF
auf einen Wert größer als Null (0
)
gesetzt ist.
Wenn der Subparameter MF
auf einen Wert
größer als Null (0
) gesetzt ist und bei einer oder mehreren Zeilen
eine Warnbedingung auftritt (z.B. aufgrund einer Zeilenwertabschneidung), kann
DB2 einen SQLCODE +354 zurückgeben. In diesem Fall
setzen Sie PSCIGN=ON
,
um den Rückgabecode als positiven SQLCODE zu ignorieren,
oder erhöhen Sie die Größe der empfangenden Felder im Programm so, dass die
Warnbedingung nicht mehr auftritt. In einem Nicht-Multi-Fetch-Modus hat die
Warnbedingung keinen SQLCODE größer als Null
(0
) zur Folge.
Wert: | Erklärung: |
---|---|
1 -32767 |
Anzahl der Zeilen, die von DB2 in einer
FETCH -Operation abgerufen werden sollen.
|
0 |
Dies ist der Standardwert. |
Anmerkung:
Dieser Subparameter wird nur von Natural for DB2
verwendet.
NNPSF=value
wird benutzt,
um das Zeichen für das Vorzeichen positiver Natural-Variablen mit Format N zu
ändern, wenn diese vom SQL-Datenbanksystem gefüllt werden. Normalerweise haben
diese Variablen das C
als Zeichen für das positive Vorzeichen.
Wenn der Subparameter NNPSF
auf ON
gesetzt
wird, dann wird F
als Zeichen für das positive Vorzeichen
verwendet.
Wert: | Erklärung: |
---|---|
ON |
Positive Zahlen, die vom
SQL-Datenbanksystem in Natural-Variable eingestellt werden, erhalten das
F als Vorzeichen.
|
OFF |
Positive Zahlen, die vom
SQL-Datenbanksystem in Natural-Variable eingestellt werden, bleiben
unverändert.
Dies ist der Standardwert. |
PSCIGN=value
hat Einfluss
darauf, wie positive SQLCODEs, die vom SQL-Datenbanksystem zurückgeliefert
werden, behandelt werden.
Wert: | Erklärung: |
---|---|
ON |
Positive SQLCODEs werden als Null behandelt. |
OFF |
Positive SQLCODEs verursachen eine
Fehlermeldung (NAT3700).
Dies ist der Standardwert. |
Anmerkungen:
PSCIGN
auf
OFF
gesetzt ist, wird die Fehlermeldung NAT3700
ausgegeben.
PSCIGN
auf
ON
gesetzt ist, werden positive SQLCODEs so behandelt, als ob sie
Null wären; das bedeutet, es wird keine Fehlermeldung (NAT3700)
ausgegeben.
REFRESH=value
dient dazu,
den DB2 Server und Package Set automatisch auf die Werte zu setzen, die bei der
Ausführung der letzten Transaktion gültig waren.
Wert: | Erklärung: |
---|---|
ON |
Jedes Mal, bevor eine Datenbanktransaktion beginnt, und wenn ein Server oder ein Package Set angegeben worden ist, erfolgt eine automatische Aktualisierung. |
OFF |
Es erfolgt keine automatische
Aktualisierung.
Dies ist der Standardwert. |
Anmerkung:
Server und Package Set werden unter Verwendung der DB2
SQL-Statements CONNECT TO server-name
und SET CURRENT PACKAGESET =
'package-name'
aktualisiert.
RETRYPO=value
begrenzt die
Anzahl der erneuten Versuche, die von Natural for DB2 unternommen werden, um
einen dynamisch verschiebbaren Cursor in einer pseudo-konversationalen Umgebung
(IMS MPP oder CICS) erneut zu positionieren.
Wert: | Erklärung: |
---|---|
1 - 2147483648 |
Anzahl der von Natural for DB2 unternommenen erneuten Versuche. |
0 |
Wenn RETRYPO auf
0 gesetzt ist, erfolgen keine Wiederholungsversuche.
|
10 |
Dies ist der Standardwert. |
Anmerkungen:
RETRYPO
) erreicht ist. In letzterem
Fall wird die Fehlermeldung NAT3703 ausgegeben. Wenn eine Tabellenzeile
abgerufen wird, deren Schlüsselspalten mit den gespeicherten Werten
übereinstimmen, wird die Verarbeitung mit der nächsten Datenbankanweisung
fortgesetzt.
RETRYPO
begrenzt die
Wiederholversuche in beiden Richtungen (nächster
bzw. vorhergehender).
RWRDONL=value
legt fest,
welche Kennzeichen als Begrenzungskennzeichen in einer SQL-Zeichenkette
generiert werden.
Wert: | Erklärung: |
---|---|
ON |
Nur Kennzeichen, die reservierte
Wörter sind, werden als Begrenzungskennzeichen generiert. Die Liste der
reservierten Wörter ist im Modul NDBPARM enthalten. Diese Liste
ist eine Zusammenfassung der Einträge aus den Listen für reservierte Wörter für
DB2 für z/OS, DB2 für VSE & VM, DB2 für LINUX, OS/2, Windows und UNIX sowie
aus ISO/ANSI SQL99.
Dies ist der Standardwert. |
OFF |
Alle Kennzeichen werden als Begrenzungskennzeichen generiert. |
Anmerkung:RWRDONL
wird nur dann wirksam, wenn die
Einstellung des Subparameters DELIMID
Begrenzungskennzeichen zulässt.
SMFSRV=value
gibt an, ob
ein Shared Memory Objects File Server (FSSM) benutzt wird. Weitere
Informationen siehe File Server – Shared Memory Object
im Abschnitt Natural for DB2 in der Database
Management System Interfaces-Dokumentation
Wert: | Erklärung: |
---|---|
ON |
Das im Parameter
DDFSERV
angegebene, gemeinsam genutzte Speicherobjekt oberhalb der Grenze wird für den
FSSM benutzt.
|
OFF |
Das gemeinsam genutzte Speicherobjekt
wird nicht benutzt.
Als Speichermedium für den File Server wird entweder eine VSAM-Datei oder der Software AG Editor Buffer Pool benutzt. Dies ist der Standardwert. |
STATDYN=value
wird
verwendet, um die Ausführung von statisch generierten SQL-Statements
zuzulassen, wenn die statische Ausführung einen Fehler zurückliefert.
Wert: | Erklärung: |
---|---|
NEVER |
Die dynamische Ausführung wird niemals
gestattet.
Dies ist der Standardwert. |
ALWAYS |
Die dynamische Ausführung ist immer nach einem Fehler gestattet. |
SPECIAL |
Die dynamische Ausführung ist nur nach
speziellen Fehlern gestattet.
Spezielle Fehler sind:
|
DB2=(FSERV=DIS,DELIMID=DQ,RWRDONL=ON,STATDYN=ALWAYS)
NTDB2 FSERV=ON, * DELIMID=DQ, * RWRDONL=ON