Compartilhar via


OracleLob.SetLength(Int64) Método

Definição

Define o tamanho do fluxo OracleLob para um valor menor que o tamanho atual.

public:
 override void SetLength(long value);
public override void SetLength (long value);
override this.SetLength : int64 -> unit
Public Overrides Sub SetLength (value As Long)

Parâmetros

value
Int64

O tamanho desejado do fluxo OracleLob atual em bytes. Para os tipos de dados CLOB e NCLOB, isso deve ser um número par.

Exceções

Um valor especificado no parâmetro value para um tipo de dados CLOB ou NCLOB não é par.

- ou -

Um valor especificado no parâmetro value é menor que zero ou maior que 4 gigabytes.

A operação não está em uma transação, o objeto OracleLob é nulo ou a conexão é fechada.

O objeto foi fechado ou descartado.

Ocorreu um erro do Oracle.

Comentários

Uma tentativa de aumentar o comprimento do OracleLob fluxo falha e retorna "Mensagem: ORA-22926: o comprimento de corte especificado é maior que o comprimento do valor lob atual" do servidor Oracle.

Um fluxo deve dar suporte à gravação e à busca para SetLength funcionar.

O provedor de dados .NET Framework para Oracle manipula todos os CLOB dados e NCLOB como Unicode. Portanto, ao acessar CLOB e NCLOB tipos de dados, você está sempre lidando com o número de bytes, em que cada caractere é de 2 bytes. Por exemplo, se uma cadeia de caracteres de texto contendo três caracteres for salva como um em um NCLOB servidor Oracle em que o conjunto de caracteres é de 4 bytes por caractere e você executar uma SetLength operação, especifique o comprimento da cadeia de caracteres como 6 bytes, embora ela seja armazenada como 12 bytes no servidor.

Para gravar no LOB, você deve ter recuperado o usando a LOB cláusula FOR UPDATE na instrução SQL SELECT e deve ter uma transação local iniciada.

Observação

Uma operação de gravação em um somente LOB leitura pode ter êxito, mas não atualiza o LOB no servidor. Nesse caso, no entanto, a cópia local do LOB é atualizada. Portanto, operações de leitura posteriores no OracleLob objeto podem retornar os resultados da operação de gravação.

Aplica-se a