Release-Informationen


45.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. Das ist erforderlich, da
     einige DB2-Versionen die Syntax "count(exp)" unterstützen,
     die auch von einigen ODBC-Anwendungen generiert wird. Für
     Microsoft-Anwendungen erforderlich, 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 die Datumskomponente der Zeitmarke
     den Wert 1899-12-30 hat. 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. Wirkt auf die Anwendung, 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 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 für SQL_API_SQLTABLEPRIVILEGES
       und SQL_API_SQLCOLUMNPRIVILEGES den Wert FALSE
       zurückzugeben.
 
 1024 - Zwingt den Treiber, SQL_SUCCESS statt 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, nach dem Schließen eines Cursors keine
        COMMIT-Anweisung abzusetzen, wenn er sich im Modus für
        automatisches Festschreiben befindet.
 
 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. Für den Zugriff
        durch Powerbuild-Anwendungen.
 
 32768 - Zwingt den Treiber, die Verarbeitung von Microsoft
         Query-Anwendungen mit DB2 MVS-Synonymen zu ermöglichen.
 
 65536 - Zwingt den Treiber, manuell ein "G" vor Zeichenliterale zu
         setzen, bei denen es sich eigentlich um Grafikliterale
         handelt. Diese Programmkorrektur (Patch) muss immer bei der
         Arbeit in einer Doppelbyteumgebung angegeben 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 statt 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. Führt
          zu einer Leistungsverbesserung.
 
 1048576 - Zwingt den Treiber, eine Zeichenfolge der Länge Null in
           SQLPutData() wie 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 als zwei 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 erweiterte Verknüpfung
      als nicht unterstützt zu melden. Für Anwendungen, die
      SELECT DISTINCT col1 oder ORDER BY col1 generieren, wenn eine
      erweiterte Verknüpfungsanweisung verwendet wird, wobei col1
      länger ist als 254 Zeichen, so dass DB2 UDB einen Fehler
      zurückgibt (DB2 UDB unterstützt bei dieser Syntax keine Spalten,
      die größer sind als 254 Byte).
 
 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 ]