Release-Informationen


49.2 Einstellungen von PATCH1 und PATCH2 bei der CLI/ODBC/JDBC-Konfiguration

Der CLI/ODBC/JDBC-Treiber kann über "Client-Konfiguration - Unterstützung" oder über den ODBC-Treiber-Manager (wenn dieser auf dem System installiert ist) konfiguriert werden bzw. durch manuelles Editieren der Datei db2cli.ini. Weitere Informationen finden Sie in Installation und Konfiguration Ergänzung oder CLI Guide and Reference.

Das Standardverhalten des DB2 CLI/ODBC-Treibers kann geändert werden, indem Sie Werte für die beiden Schlüsselwörter PATCH1 und PATCH2 angeben. Die Eingabe dieser Werte kann über die Datei db2cli.ini oder die CLI-API SQLDriverConnect() bzw. SQLBrowseConnect() erfolgen.

Das Schlüsselwort PATCH1 wird angegeben, indem alle Schlüsselwerte zusammengezählt werden, die der Benutzer festlegen möchte. Wenn z. B. die Programmkorrekturen (Patches) 1, 2 und 8 angegeben würden, hätte PATCH1 den Wert 11. Nachfolgend finden Sie eine Beschreibung der einzelnen Schlüsselwortwerte und ihrer Auswirkung auf den Treiber:

1
Veranlasst den Treiber, nach "count(exp)" zu suchen und durch "count(distinct exp)" zu ersetzen. Dies ist erforderlich, weil einige Versionen von DB2 die Syntax "count(exp)" unterstützen, die auch von einigen ODBC-Anwendungen generiert wird. Erforderlich für Microsoft-Anwendungen, wenn der Server die Syntax "count(exp)" nicht unterstützt.

2
Einige ODBC-Anwendungen werden abgefangen, wenn SQL_NULL_DATA in der Funktion SQLGetTypeInfo() für die Spalte LITERAL_PREFIX oder LITERAL_SUFFIX zurückgegeben wird. Zwingt den Treiber, statt dessen eine leere Zeichenfolge zurückzugeben. Erforderlich für Impromptu 2.0.

4
Zwingt den Treiber, die Daten für die Eingabezeitmarke wie Datumsdaten zu behandeln, wenn Zeit- und Bruchkomponente der Zeitmarke den Wert Null haben. Erforderlich für Microsoft Access.

8
Zwingt den Treiber, die Daten für die Eingabezeitmarke wie Zeitdaten zu behandeln, wenn der Datumsteil der Zeitmarke 1899-12-30 lautet. Erforderlich für Microsoft Access.

16
Nicht verwendet.

32
Zwingt den Treiber, keine Informationen zu Spalten des Typs SQL_LONGVARCHAR, SQL_LONGVARBINARY und SQL_LONGVARGRAPHIC zurückzugeben. Für die Anwendung sieht es so aus, als würden Langfelder nicht unterstützt. Erforderlich für Lotus 1-2-3.

64
Zwingt den Treiber, Grafikausgabezeichenfolgen mit NULL zu beenden. Erforderlich für Microsoft Access in einer Doppelbyteumgebung.

128
Zwingt den Treiber, die Abfrage "SELECT Config, nValue FROM MSysConf" an den Server durchzulassen. Derzeit gibt der Treiber einen Fehler mit SQLSTATE-Wert S0002 (Tabelle nicht gefunden) zurück. Erforderlich, wenn der Benutzer diese Konfigurationstabelle in der Datenbank erstellt hat und die Anwendung darauf zugreifen können soll.

256
Zwingt den Treiber, die Primärschlüsselspalten als erstes beim Aufruf SQLStatistics() zurückzugeben. Derzeit gibt der Treiber die Indizes nach Indexname sortiert zurück. Dies ist das ODBC-Standardverhalten.

512
Zwingt den Treiber, bei SQLGetFunctions() für SQL_API_SQLTABLEPRIVILEGES und für SQL_API_SQLCOLUMNPRIVILEGES den Wert FALSE zurückzugeben.

1024
Zwingt den Treiber, SQL_SUCCESS anstelle von SQL_NO_DATA_FOUND in SQLExecute() oder SQLExecDirect() zurückzugeben, wenn die ausgeführte Anweisung UPDATE oder DELETE keine Zeilen betrifft. Erforderlich für Visual Basic-Anwendungen.

2048
Nicht verwendet.

4096
Zwingt den Treiber, im Modus für automatisches Festschreiben nach dem Schließen eines Cursors keine COMMIT-Anweisung abzusetzen.

8192
Zwingt den Treiber, nach dem Aufrufen einer gespeicherten Prozedur eine zusätzliche Ergebnismenge zurückzugeben. Diese besteht aus einer einzeiligen Ergebnismenge mit den Ausgabewerten der gespeicherten Prozedur. Kann von Powerbuild-Anwendungen benutzt werden.

32768
Zwingt den Treiber, die Verarbeitung von Microsoft Query-Anwendungen mit DB2 MVS-Synonymen durchzuführen.

65536
Zwingt den Treiber, manuell ein "G" vor Zeichenliterale zu setzen, die eigentlich Grafikliterale sind. Diese Programmkorrektur sollte immer beim Arbeiten in einer Doppelbyteumgebung bereitgestellt werden.

131072
Zwingt den Treiber, eine Zeitmarkenspalte als CHAR(26)-Spalte zu beschreiben, wenn diese Teil eines eindeutigen Index ist. Erforderlich für Microsoft-Anwendungen.

262144
Zwingt den Treiber, die Pseudo-Katalogtabelle db2cli.procedures anstelle der Tabellen SYSCAT.PROCEDURES und SYSCAT.PROCPARMS zu verwenden.

524288
Zwingt den Treiber, SYSTEM_TABLE_SCHEMA statt TABLE_SCHEMA bei der Bearbeitung einer Systemtabellenabfrage eines Systems mit DB2/400 Version 3.x zu verwenden. Dies führt zu einer Leistungsverbesserung.

1048576
Zwingt den Treiber, eine Zeichenfolge der Länge Null in SQLPutData() als SQL_NULL_DATA zu behandeln.

Das Schlüsselwort PATCH2 unterscheidet sich von PATCH1. Bei diesem Schlüsselwort werden mehrere Programmkorrekturen (Patches) durch Kommas getrennt angegeben. Wenn z. B. die Programmkorrekturen 1, 4 und 5 angegeben wären, hätte PATCH2 den Wert "1,4,5". Nachfolgend finden Sie eine Beschreibung der einzelnen Schlüsselwortwerte und ihrer Auswirkung auf den Treiber:

 1 - Zwingt den Treiber, den Namen einer gespeicherten Prozedur
     in einer Anweisung CALL in Großschreibung umzusetzen.
 
 2 - Nicht verwendet.
 
 3 - Zwingt den Treiber, alle Argumente in Schemaaufrufen in
     Großbuchstaben umzusetzen.
 4 - Zwingt den Treiber, für Schemaaufrufe (d. h. SQLColumns(),
     SQLProcedureColumns() usw.), die LIKE-Ergebnismenge der
     Version 2.1.2 statt einer LIKE-Ergebnismenge der Version 5
     zurückzugeben.
 5 - Zwingt den Treiber, die Verarbeitung von VARCHAR-Eingabespalten,
     bei denen die Zeiger auf Daten und Länge im Speicher
     aufeinander folgen, nicht zu optimieren.
 6 - Zwingt den Treiber, eine Nachricht zurückzugeben, dass
     verschiebbare Cursor nicht unterstützt werden. Erforderlich
     für Visual Basic-Programme, wenn der DB2-Client Version 5 und der
     Server DB2 UDB Version 5 ist.
 
 7 - Zwingt den Treiber, alle GRAPHIC-Spaltendatentypen dem
     Spaltendatentyp CHAR zuzuordnen. Erforderlich für eine
     Doppelbyteumgebung.
 
 8 - Zwingt den Treiber, Katalogsuchargumente in Schemaaufrufen
     zu ignorieren.
 
 9 - Keine COMMIT-Operation bei frühzeitigem Schließen des Cursors
     (Early Close).
 
 10 - Nicht verwendet.
 
 11 - Ausgeben, dass der Katalogname unterstützt wird (gespeicherte
      VB-Prozeduren).
 
 12 - Entfernt doppelte Anführungszeichen aus Argumenten eines
      Schemaaufrufs (Visual Interdev).
 
 13 - Kein Anhängen von Schlüsselwörtern aus db2cli.ini an
      Ausgabeverbindungszeichenfolgen.
 
 14 - Ignoriert den Schemanamen bei SQLProcedures() und
      SQLProcedureColumns().
 
 15 - Verwendet den Punkt als Dezimaltrennzeichen bei der
      Zeichenausgabe.
 
 16 - Rückgabe von beschreibenden Informationen bei jedem OPEN
      erzwingen.
 
 17 - Keine Rückgabe von Spaltennamen bei DESCRIBE.
 
 18 - Versuch, Literale durch Parametermarken zu ersetzen.
 
 19 - Derzeit unterstützt DB2 MVS Version 4.1 nicht die ODBC-Syntax, in
      der runde Klammern in der Klausel ON einer erweiterten
      Verknüpfungsklausel zulässig sind. Wenn Sie PATCH2 aktivieren,
      entfernt der IBM DB2 ODBC-Treiber die runde Klammer, wenn sich
      die erweiterte Verknüpfungsklausel in einer ODBC-Escape-Zeichenfolge
      befindet. PATCH2 sollte nur für DB2 MVS 4.1 verwendet werden. 
 20 - Derzeit unterstützt DB2 unter MVS nicht das Vergleichselement BETWEEN
      mit Parametermarken für beide Operanden (Ausdruck ? BETWEEN ?).
      Wenn Sie diese Programmkorrektur aktivieren, schreibt der IBM
      ODBC-Treiber das Vergleichselement um (Ausdruck >= ? und
      Ausdruck <= ?).
 21 - Setzt alle Parameter OUTPUT für gespeicherte Prozeduren auf
      SQL_NULL_DATA.
 
 22 - Veranlasst den IBM ODBC-Treiber, die äußere Verknüpfung
      als nicht unterstützt zu melden. Für Anwendungen, die
      SELECT DISTINCT spalte1 oder ORDER BY spalte1 verwenden, wenn eine
      erweiterte Verknüpfungsanweisung verwendet wird, wobei spalte1
      länger ist als 254 Zeichen, so dass DB2 UDB einen Fehler
      zurückgibt (DB2 UDB unterstützt keine Spalten mit mehr als 254 Byte
      bei dieser Syntax).
 23 - Keine Eingabeoptimierung von Parametern, die mit cbColDef=0
      gebunden wurden.
 
 24 - Problemumgehung bei Access für die Zuordnung von Zeitwerten als Zeichen.
 
 25 - Problemumgehung bei Access für Dezimalspalten - entfernt abschließende
      Nullen bei der Zeichendarstellung.
 
 26 - Keine Rückgabe des SQLCODE-Werts 464 an die Anwendung - gibt an,
      dass Ergebnismengen zurückgegeben werden.
 
 27 - Zwingt SQLTables, den Wert des Schlüsselworts TABLETYPE zu
      verwenden, selbst wenn die Anwendung einen gültigen Wert angibt.
 
 28 - Beschreibt reale Spalten als Doppelspalten.
 
 29 - Problemumgehung bei ADO für Dezimalspalten - entfernt führende Nullen
      für x-Werte; dabei gilt: 1 > x > -1 (nur für einige MDAC-Versionen
      erforderlich).
 
 30 - Inaktiviert die Cache-Optimierung der gespeicherten Prozedur.
 
 31 - Meldet Statistikdaten für Aliasnamen bei einem Aufruf von SQLStatistics.
 
 32 - Überschreibt die Verarbeitung für SQLCODE-Wert -727, Ursachencode 4.
 
 33 - Gibt nach dem Konvertieren der Zeitmarke in den CHAR-Datentyp die
      ISO-Version zurück (nicht die ODBC-Version).
 
 34 - Meldet CHAR FOR BIT DATA-Spalten als CHAR-Spalten.
 
 35 - Meldet einen ungültigen Tabellennamen, wenn SQL_DESC_BASE_TABLE_NAME
      angefordert wird - Optimierung bei ADO für den Lesezugriff.
 
 36 - Reserviert.
 
 37 - Reserviert.
 


[ Seitenanfang | Vorherige Seite | Nächste Seite | Inhaltsverzeichnis | Index ]