Enunciado
Usando Visual Basic .NET, descargar un archivo comprimido desde un sitio web, descomprimirlo e importar el contenido, importando sus líneas en una base de datos. Todo ello sin guardar en disco una copia, esto es trabajando en memoria.
Solución
Se utiliza la librería dotnetzip y la clase webclient de .net Framework
Imports System.Web, System.IO, System.Net, Ionic.Zip, Microsoft.AnalysisServices
Module Module1
Sub ejemplo()
Dim cliente As New WebClient
Dim datos As Byte()
datos = cliente.DownloadData(My.Settings.CaminoZIP)
Dim cola = New MemoryStream(datos)
Dim comprimido = ZipFile.Read(cola)
Dim Entrada = comprimido.Entries(0)
Dim colaMemoria As New MemoryStream
Entrada.Extract(colaMemoria)
colaMemoria.Position = 0
Dim lector As New StreamReader(colaMemoria)
lector.ReadLine()
Do While Not lector.EndOfStream
Dim lineaDatos = LeeLineaGas(lector.ReadLine, Today)
If lineaDatos IsNot Nothing Then
bd.ImportacionGas.InsertOnSubmit(lineaDatos)
Loop
End Sub
end module
No hay comentarios:
Publicar un comentario