Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Extraia Oracle LONG para string no VBA


Isso funciona para mim:
Debug.Print BinaryToString(RS.Fields("long_raw").Value)

Onde "RS" é um conjunto de registros ADO que contém os resultados da consulta e "BinaryToString" é conforme mostrado abaixo.
Function BinaryToString(Binary)
  'Antonin Foller, http://www.motobit.com
  'Optimized version of a simple BinaryToString algorithm.

  Dim cl1, cl2, cl3, pl1, pl2, pl3
  Dim L
  cl1 = 1
  cl2 = 1
  cl3 = 1
  L = LenB(Binary)

  Do While cl1 <= L
    pl3 = pl3 & Chr(AscB(MidB(Binary, cl1, 1)))
    cl1 = cl1 + 1
    cl3 = cl3 + 1
    If cl3 > 300 Then
      pl2 = pl2 & pl3
      pl3 = ""
      cl3 = 1
      cl2 = cl2 + 1
      If cl2 > 200 Then
        pl1 = pl1 & pl2
        pl2 = ""
        cl2 = 1
      End If
    End If
  Loop
  BinaryToString = pl1 & pl2 & pl3
End Function