Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Tenho uma aplicaçao em Visual Basic que abre campos BLOB de um Banco de Datos Oracle. A maioria de estos blob's armazenam PDF. Guardo estes arquivos no disco local c:\windows\temp y depois os abro.
O código para abertura dos PDF's é o seguinte:
archivo = lista2.GFields("BOBJ")
Dim byARQUIVO() As Byte
Dim sSQL As String
Dim strTEMP, nomArq As String
'byARQUIVO() = MeuRecordset![ca_arquivo]
byARQUIVO() = archivo
nomArq = "Arx_TMP" & numPdf & extencion
'strTEMP = App.path & "\Arx_TMP.tmp"
strTEMP = "C:\WINDOWS\Temp\" & nomArq
Open strTEMP For Binary As #1
Put #1, , byARQUIVO()
Close #1
'Form.PictureBox.Picture = LoadPicture(strTEMP)
'MsgBox strTEMP
numPdf = numPdf + 1
ShellExecute Me.hwnd, vbNullString, strTEMP, vbNullString, "C:\", SW_SHOWNORMAL
O código acima funciona quase sempre bem. Mas algumas vezes ao ebrir o PDF salta o erro: "PROBLEMA AO ABRIR O DOCUMENTO. PROBLEMA AO LER O DOCUMENTO (109)"
Isso ocorre algumas vezes e se fecho o programa e abro de novo pode ser que o erro nao volte a passar para o mesmo registro do Banco, o que mostra que o problema náo é com o Oracle. Indo a capeta c:\windows\temp verifico que os arquivos com problema também naos e abrem ao dar duplo click. Tenho a versáo 9 do Acrobat Reader. Buscando esse erro na internet encontrei algumas ocorrências, mas nao como solucioná-lo.
Tenho a impressáo que o problema ocorre porque nao se salva corretamente o arquivo em c:\windows\temp e por isso nao se pode abrir-lo. Alguém tem alguma idéia de porque isso ocorre e como solucionar?
Muito obrigada!
Abraços,
Thaís
Carregando comentários...