Pessoal,

Eu estou desenvolvendo uma aplica��o em ASP, com acesso direto ao SqlBase atrav�s do 
Provider SLQBASEOLEDB. 
Por�m, eu n�o estou conseguindo ler uma coluna que � LONG VARCHAR.
Algu�m j� passou por este problema, ou sabe qual seria a solu��o para ele???

Eu estou enviando um arquivo contendo o c�digo que est� sendo executado na p�gina ASP, 
e um outro arquivo contendo o resultado que o c�digo est� me retornando. O c�digo est� 
adaptado para rodar no Excel, como uma Macro, jogando o resultado diretamente na 
planilha.

 <<Codigo.txt>>  <<Resultado.txt>> 


Luciana Valerio
AlmapBBDO Comunica��es Ltda


Option Explicit

Function fncCnx()
    
    Dim strPvd As String
    Dim strBD As String
    Dim strUsr As String
    Dim strPws As String
    Dim strSQL As String
    Dim Cnx As ADODB.Connection
    Dim rsLoc As ADODB.Recordset
    
    Dim lngOffset As Long
    Dim lngLogoSize As Long
    Dim varLogo As Variant
    Dim varChunk As Variant
    Dim fld As ADODB.Field
    Dim conChunkSize As Integer
    conChunkSize = 100

    strPvd = "SQLBASEOLEDB"
    strBD = "PROJETO"
    strUsr = "SYSADM"
    strPws = "SYSADM"
    
    On Error Resume Next
    Set Cnx = CreateObject("ADODB.Connection")
    Cnx.CursorLocation = adUseClient
    If strPvd <> "" Then Cnx.Provider = strPvd
    Cnx.Open strBD, strUsr, strPws
    
    strSQL = "SELECT CAMPO_LONG_VARCHAR FROM TABELA"
    
    Set rsLoc = CreateObject("ADODB.Recordset")
    rsLoc.CursorLocation = adUseClient
    rsLoc.Open strSQL, Cnx, adOpenKeyset, adLockOptimistic, adCmdText
    
    If rsLoc.RecordCount <= 0 Then
        Set rsLoc = Nothing
    Else
        Dim nRow
        Dim nCol
        nRow = 2
        Do Until rsLoc.EOF
            lngOffset = 0
            lngLogoSize = 0
            varLogo = ""
            varChunk = ""
            Set fld = rsLoc.Fields("CAMPO_LONG_VARCHAR")
            lngLogoSize = fld.ActualSize
            Plan1.Cells(nRow, 1) = fld.Type
            Plan1.Cells(nRow, 2) = lngLogoSize
            Plan1.Cells(nRow, 3) = CStr(fld.Value)
            nCol = 4
            Do While lngOffset < lngLogoSize
                varChunk = fld.GetChunk(conChunkSize)
                Plan1.Cells(nRow, nCol) = CStr(varChunk)
                lngOffset = lngOffset + conChunkSize
                nCol = nCol + 1
            Loop
            nRow = nRow + 1
            rsLoc.MoveNext
        Loop
    End If
    
    If IsObject(rsLoc) Then
        If Not rsLoc Is Nothing Then
            If rsLoc.State <> adStateClosed Then
                rsLoc.Close
            End If
            Set rsLoc = Nothing
        End If
    End If
    Cnx.Close
    Set Cnx = Nothing

End Function

��                                         

205 302 Prazo de entrega: 16/05/03                        Favor or�ar e 
produzir foto anexa para campanha de Havaianas Camuflada.


Utiliza��o : Revista / Material de ponto de venda (cartaz,broadside, banner, poster e 
display de balc�o)
Austr�lia
1ano

DA: Beto / Luiz


Importante : Material domingo   Prazo de entrega: 16/05/03                        
Favor or�ar e produzir foto anexa para campanha de    Havaianas Camuflada.


Utiliza��o : Revista / Material de ponto de venda (cartaz,broadside, bann       er, 
poster e display de balc�o)
Austr�lia
1ano

DA: Beto / Luiz


Importante : Material domin     go

205 317 Prazo de entrega: 30/05/03                        Favor or�ar as 
seguintes fotos:


1) Havaianas com Camale�o
2) Havaianas m�o Camuflada
3) Havaianas p�gina Camuflada


Utiliza��o : Revista / Material de ponto de venda (cartaz,broadside, banner, poster e 
display de balc�o)
Wallpaper
1ano

DA: Beto / Luiz        Prazo de entrega: 30/05/03                        Favor or�ar 
as seguintes fotos:


1) Havaianas    com Camale�o
2) Havaianas m�o Camuflada
3) Havaianas p�gina Camuflada


Utiliza��o : Revista /  Material de ponto de venda (cartaz,broadside, banner, poster 
e display de balc�o)
Wallpaper
1ano
        
DA: Beto / Luiz

Responder a