Ricardo, A API que o SQLWindows utiliza para o Oracle é baseada no Oracle 7, o que traz alguns problemas, e este é um deles, limitação de 2000 caracteres de buffer para campos varchar2 ou long varchar. A melhor solução é fazer uma PROCEDURE no oracle, utilizando um parametro varchar2 OUT, onde internamente você executa o select deste campo jogando o resultado no parâmetro, dentro do SQLWindows você simplesmente executa a procedure com SqlPLSQLCommand ou SqlOraPLSQLPrepare/Execute. no oracle: create or replace procedure prc_select (s_return out varchar2) as begin select campo into s_return from tabela; end; / no SQLWindows: Call SqlPLSQLCommand('prc_select(:var1)'); Sds, Erasmo --
Ricardo Gomes wrote: Bom dia, pessoal. Não estou conseguindo recuperar o conteúdo completo de um campo varchar2(4000) do oracle, que está completamente preenchido. Depois de fazer um select, verifico que o tamanho da variável é 2000, ou invés de 4000. Fazendo um teste, recuperei o campo em duas partes, como mostro abaixo:select substr(campo,1,2000), substr(campo,2001,2000) ... into :var1, :var2 Set sResult = var1 || var2 e funcionou. No entanto, se faço: select campo ... into :sResult a variável sResult fica com somente 2000 dos 4000 caracteres que compõem o campo no banco. No meu sql.ini estou usando longbuffer=128000. Alguém sabe como resolver isso? Obrigado. Ricardo. ===========================================Lista de Centura SQLWindows Administrador : [EMAIL PROTECTED] [ http://www.centuraexplorer.com ] Para sair desta lista mande mensagem para: [EMAIL PROTECTED] sem nada no Subject e com o comando a seguir no corpo da msg: "unsubscribe sqlwin" (sem as aspas) =========================================== |
<<inline: Softway.gif>>