Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (Deutsch) » SQL Anywhere Server - Datenbankadministration » Konfiguration Ihrer Datenbank » Datenbankoptionen » Einführung in Datenbankoptionen » Alphabetische Liste der Optionen

 

ansi_blanks-Option [Kompatibilität]

Steuert das Verhalten beim clientseitigen Kürzen von Zeichendaten

Zulässige Werte

On, Off

Standardwert

Off

Bemerkungen

Die Option ansi_blanks hat keine Auswirkung, außer die Datenbank ignoriert bei Vergleichen nachgestellte Leerstellen und aufgefüllte Zeichenfolgen, die in Zeichen-Arrays abgerufen werden. Sie erzwingt einen Kürzungsfehler immer dann, wenn ein Wert vom Datentyp CHAR(N) in eine "C char(M)"-Variable bei Werten von N größer als oder gleich M eingelesen wird. Bei ansi_blanks auf "Off" tritt ein Kürzungsfehler nur dann auf, wenn mindestens ein nicht-leeres Zeichen gekürzt wird.

Wenn ansi_blanks in Embedded SQL auf "On" gesetzt ist, muss beim Angeben eines Wertes vom Datentyp DT_STRING das Feld sqllen auf die Länge des Puffers gesetzt werden, der den Wert enthält (zumindest die Länge des Werts einschließlich des Platzes für das abschließende Nullzeichen). Bei ansi_blanks auf "Off" wird die Länge nur durch die Position des NULL-Zeichens ermittelt. Der Wert der Option ansi_blanks wird bestimmt, wenn die Verbindung hergestellt wird. Ein Ändern der Option nach der Verbindungsherstellung wirkt sich nicht auf das Embedded SQL-Verhalten von 'sqllen' aus.

Wenn eine Datenbank eine Leerzeichenfüllung hat, steuert diese Option Kürzungswarnungen an den Client, wenn der abgerufene Ausdruck CHAR oder NCHAR (nicht VARCHAR oder NVARCHAR) ist und in eine Hostvariable vom Typ CHAR bzw. NCHAR (nicht VARCHAR bzw. NVARCHAR) übertragen wird. Wenn diese Bedingungen zutreffen und die Hostvariable zu klein ist, um den abgerufenen Ausdruck aufzunehmen, wenn er mit Leerzeichen bis zur maximalen Länge des Ausdrucks aufgefüllt ist, wird eine Kürzungswarnung ausgegeben, und der Indikator enthält die Mindestanzahl von Bytes, die zur Aufnahme des abgerufenen Ausdrucks erforderlich sind, wenn er bis zu seiner maximalen Länge angefüllt wird. Wenn der Ausdruck CHAR(N) oder NCHAR(N) ist, kann der Indikator auf einen anderen Wert als N gesetzt werden, um die Zeichensatzkonvertierung des zurückgegebenen Werts und Zeichenlänge-Semantik zu berücksichtigen.