terça-feira, 26 de julho de 2016

JSON JavaScriptSerializer- Erro durante a Serialização dos dados





O objetivo deste post é mostrar de forma prática e rápida, como alterar o tamanho do caracteres para serialização dos dados, utilizando a biblioteca JavaScriptSerializer.

Primeiramente, o namespace   System.Web.Script.Serialization, possui, entre outras, a propriedade: MaxJsonLength, responsável em determinar o comprimento máximo de cadeias de caracteres JSON.
Por padrão, o Serialization definido é de 2097152.




Acontece que dependendo do tamanho do objeto a ser serializado, precisamos alterar esta propriedade.

Veja o erro que pode ocorrer durante este processo:





Isto é simples, basta alterar esta propriedade. No caso, alteramos para o valor de: 86753090, veja o código:


            var serializer = new JavaScriptSerializer();
            serializer.MaxJsonLength = 86753090;






Até a próxima.






































segunda-feira, 25 de julho de 2016

SQL Server - Retonar extensão do nome do arquivo - Funções: LEN, CHARINDEX, Right



A proposta do script abaixo é retornar a extensão do arquivo - via Banco de Dados.

Primeiramente, vamos entender as funções utilizadas no script:

1) Função LEN: Retorna o número de caracteres da expressão da cadeia de caracteres especificada, excluindo espaços em branco à direita.
(fonte: https://msdn.microsoft.com/pt-br/library/ms190329.aspx?f=255&MSPPError=-2147217396)


2) Função CHARINDEX: Pesquisa uma expressão para outra e retorna sua posição inicial, se for localizada. 
(fonte: https://msdn.microsoft.com/pt-br/library/ms186323.aspx)

3) Função Right: Retorna a parte da direita de uma cadeia de caracteres com o número de caracteres especificado 
(fonte: https://msdn.microsoft.com/pt-br/library/ms177532.aspx)


Para facilitar a compreensão, vamos separar as funções utilizadas e visualizar cada retorno:


select nomeArquivo  , LEN(nomeArquivo) as totalChar   , CHARINDEX('.', nomeArquivo) as posChar from arquivos
    

Muito bem, conseguimos retornar o nome, o total de caracteres e a posição deste dentro da coluna.


Agora vamos agregar estas funções e retornar qual é a extensão para cada nome do arquivo:

select nomeArquivo, right(nomeArquivo, LEN(nomeArquivo) - CHARINDEX('.', nomeArquivo)+1) as extensao from arquivos




Até a próxima.