Muitos de vós já deram o salto e começaram a utilizar a ORDA. Para facilitar a vossa experiência de codificação, temos o prazer de anunciar que os Blobs são agora totalmente suportados na ORDA, como qualquer outro tipo. Após o primeiro passo em 4D v19 R2, com o apoio dos Blobs em objectos, 4D v19 R3 traz o apoio dos Blobs em ORDA.
Guardar um Blob na base de dados
Pode agora usar a sintaxe ORDA para guardar um Blob numa base de dados. Por exemplo, se quiser arquivar e-mails na sua base de dados:
$IMAPTransporter:=4D.IMAPTransporter.new($parameters)
$blob :=$IMAPTransporter.getMIMEAsBlob. ()
// Saves the blob in the EmailArchives table
$archive :=ds.EmailArchives.new()
$archive.
Date:=Timestamp
$archive.
Blob:=$blob
$archive .
save()
ler um Blob na base de dados
Da mesma forma, pode utilizar a sintaxe ORDA para obter o conteúdo de um Blob guardado na base de dados. Por exemplo, se quiser recuperar um e-mail na sua base de dados:
$archive:=ds.EmailArchives.get($id)
$email :=MAIL Convert from MIME($archive.Blob)
Obviamente, se a sua mesa estiver encriptada, a ORDA gere para si a encriptação/descriptação dos seus Blobs.
Como é habitual nos campos Blob, tenha em mente que um Blob não pode exceder 2GB! Para mais informações, dê uma vista de olhos à documentação.