Ado.Net 2.0 - Serializar dados em formato binário
Pessoal,
Uma das novas funcionalidades do Framework 2.0 (Ado.Net) é serializar dados em formato binário. Na versão 1.1 do Framework, tínhamos a serialização em XML, mas que criava um arquivo muito grande (considerando uma grande massa de dados). Para suprir isto, foi incorporado esta nova feature no Framework 2.0.
Veja a tabela abaixo (disponibilizado pela Microsoft) da diferença do tamanho do arquivo (xml e binário)
Importe as seguintes classes:
Imports System.Runtime.Serialization.Formatters.Binary 'Responsável pela serialização
Imports System.IO 'Responsável pela criação do arquivo
Salvar o dataset em formato binário:
Dim str As Stream 'stream para o arquivo
Dim bf As New BinaryFormatter 'objeto que irá fazer a serialização
str = File.Open("c:\a.bin", FileMode.Create, FileAccess.Write) 'criação do arquivo
bf.Serialize(str, ds) 'Serializa o dataset ds no arquivo str
str.Close() 'fecha o arquivo
bf = nothing
Recuperar um dataset de um arquivo binário:
Dim bf As New BinaryFormatter 'Objeto para "deserializar"
Dim fileBin As Stream 'Objeto para leitura do arquivo
Dim ds As DataSet 'Dataset - Onde os dados do arquivo serão carregados
fileBin = File.Open("c:\a.bin", FileMode.Open) 'Abertura do arquivo binário
ds = bf.Deserialize(fileBin) '"deserializa" o arquivo binário e o carrega no dataset
fileBin.Close() 'Fecha o arquivo
bf = nothing
Isto foi um overview da utilização desta nova feature. É claro, tratamento de erros devem ser incorporados (ex: verificar se foi possível criar um arquivo e etc...) mas, como visto, é muito simples utilizarmos este novo recurso em nossos sistemas.
[]´s