Notifications
Clear all

Limite de caracter no recordset?

3 Posts
2 Usuários
0 Reactions
1,175 Visualizações
(@megadoug)
Posts: 2
New Member
Topic starter
 

Galera. bom dia.
Estou realizando um levantamento de quantos e quais são os meus script SQL no banco de dados (Postgresql).
Logo eu estou tentando trazer do meu banco de dados, o script sql que tenho guardado.
Porém quando o script é meio longo, tipo 1200 linhas, o vba se perde e me traz apenas uma parte do script.
Exemplo:

Parte do Meu código

Sub Consulta_Dados()

Dim Tablename As String
Dim DataSource As Variant
Dim conNew As New ADODB.Connection
Dim rs As New ADODB.Recordset

Dim filtro As Integer
Dim contexto As Integer
Dim ws As Worksheet
Dim sql_orig As String

Dim iArq As Long

ReDim valores(4) As Variant

DataSource = odbc
Set conNew = CreateObject("ADODB.Connection")
Set rs = CreateObject("ADODB.Recordset")
Set ws = Worksheets(ActiveSheet.Name)

iArq = FreeFile
Open "C:tempArq_SQL.txt" For Output As iArq


    For i = 1 To 4
        valores(i) = ws.Range("A1").Offset(1, i).Value
    Next i

    '============================================================================================================================================================
        Sql = " SELECT f.idfiltro, f.idcontexto, f.descricao, ql.expressao " _
            & " FROM sis.filtro f INNER JOIN sis.ql ql USING (idql,idcontexto) WHERE ql.idql = " & valores(3) & " AND ql.idcontexto = " & valores(4)
    
    '---------------------------------------------database connection--
        conNew.Open DataSource
        Set rs = conNew.Execute(Sql)
    '---------------------------------------------Encerra a conection--
       
'        dblin = rs.GetRows
        
        Print #iArq, rs.Fields.Item(3).Value        <==================== AQUI EU PEGO O CAMPO EXPRESSAO ONDE ESTÁ O SCRIPT SQL QUE ME INTERESSA
        Close #iArq
        
        conNew.Close
        Set rs = Nothing

... continua fazendo outros procedimentos que não influenciam.

O Resultado (Este SQL tem 1163 linhas) trouxe apenas 303
Sendo que na última linha ele mostra " )) AS totalcust " <=============== Ele cortou a palavra e no espaço em branco, ele traz strings NUL e ACK.

https://ibb.co/6wWTZ0z

Alguém passou por isso?
Ou alguém tem uma dica de como posso transcrever o campo de script SQL direto para arquivo txt?

Muito obrigado.

 
Postado : 02/10/2019 8:38 am
Reinaldo
(@rlm)
Posts: 246
Estimable Member
 

Veja se o discutido aqui https://www.tomasvasquez.com.br/forum/viewtopic.php?f=20&t=7052&hilit=limite não lhe auxilia

Reinaldo

 
Postado : 02/10/2019 8:59 am
(@megadoug)
Posts: 2
New Member
Topic starter
 

Não resolveu, vou fazer em outra linguagem de programação.
RLM, muito obrigado pela paciência. abç

 
Postado : 02/10/2019 10:34 am