OracleLob.SetLength(Int64) Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Define o comprimento do OracleLob fluxo como um valor menor que o comprimento 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 comprimento desejado do fluxo atual OracleLob em bytes. Para CLOB e NCLOB tipos de dados, esse deve ser um número par.
Exceções
Um valor especificado no value parâmetro para um CLOB ou NCLOB tipo de dados não é sequer.
-ou-
Um valor especificado no value parâmetro é menor que zero ou maior que 4 gigabytes.
A operação não está dentro de uma transação, o OracleLob objeto é 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 do corte especificado é maior que o comprimento do valor lob atual" do servidor Oracle.
Um fluxo deve dar suporte à gravação e à busca de SetLength função.
O .NET Framework Provedor de Dados para Oracle manipula todos os dados CLOB 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 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 uso da LOB cláusula FOR UPDATE na instrução SQL SELECT e deve ter uma transação local iniciada.
Note
Uma operação de gravação para um somente leitura LOB pode ter êxito, mas não atualiza o LOB 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.