Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Legt die Länge des OracleLob-Streams auf einen Wert fest, der kleiner als die aktuelle Länge ist.
Namespace: System.Data.OracleClient
Assembly: System.Data.OracleClient (in system.data.oracleclient.dll)
Syntax
'Declaration
Public Overrides Sub SetLength ( _
value As Long _
)
'Usage
Dim instance As OracleLob
Dim value As Long
instance.SetLength(value)
public override void SetLength (
long value
)
public:
virtual void SetLength (
long long value
) override
public void SetLength (
long value
)
public override function SetLength (
value : long
)
Parameter
- value
Die gewünschte Länge des aktuellen OracleLob-Streams in Bytes. Bei CLOB-Datentypen und NCLOB-Datentypen muss dies eine gerade Zahl sein.
Ausnahmen
| Ausnahmetyp | Bedingung |
|---|---|
Ein im value-Parameter für einen CLOB-Datentyp oder einen NCLOB-Datentyp angegebener Wert ist ungerade. – oder – Ein im value-Parameter angegebener Wert ist kleiner als 0 (null) oder größer als 4 Gigabyte. |
|
Die Operation befindet sich nicht innerhalb einer Transaktion, das OracleLob-Objekt ist NULL, oder die Verbindung ist geschlossen. |
|
Das Objekt war geschlossen oder freigegeben. |
|
Es ist ein Oracle-Fehler aufgetreten. |
Hinweise
Das Erhöhen der Länge des OracleLob-Streams schlägt fehl, und es wird "Meldung: ORA-22926: Angegebene Trimlänge ist größer als die Länge des aktuellen LOB-Werts" vom Oracle-Server zurückgegeben.
Ein Stream muss Schreib- und Suchvorgänge unterstützen, damit SetLength funktioniert.
Der .NET Framework-Datenanbieter für Oracle behandelt alle CLOB-Daten und NCLOB-Daten als Unicode. Daher arbeiten Sie beim Zugreifen auf CLOB-Datentypen und NCLOB-Datentypen immer mit der Anzahl von Bytes, wobei jedes Zeichen 2 Bytes beträgt. Wenn z. B. eine Textzeichenfolge mit drei Zeichen als ein NCLOB auf einem Oracle-Server gespeichert wird, dessen Zeichensatz 4 Bytes pro Zeichen beträgt, und Sie eine SetLength-Operation durchführen, geben Sie die Länge der Zeichenfolge als 6 Bytes an, obwohl diese auf dem Server als 12 Bytes gespeichert ist.
Wenn in das LOB geschrieben werden soll, müssen Sie das LOB mithilfe der FOR UPDATE-Klausel in der SQL-SELECT-Anweisung abgerufen haben, und eine lokale Transaktion muss gestartet worden sein.
Hinweis
Ein Schreibvorgang für ein schreibgeschütztes LOB kann fehlerfrei ausgeführt werden, das LOB auf dem Server wird jedoch nicht aktualisiert. In diesem Fall wird jedoch die lokale Kopie des LOB aktualisiert. Daher geben spätere Lesevorgänge für das OracleLob-Objekt möglicherweise die Ergebnisse des Schreibvorgangs zurück.
Plattformen
Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.
Versionsinformationen
.NET Framework
Unterstützt in: 2.0, 1.1
Siehe auch
Referenz
OracleLob-Klasse
OracleLob-Member
System.Data.OracleClient-Namespace