Mais uma vez, muito obrigado Erasmo!
 
Ricardo.
 
----- Original Message -----
Sent: Thursday, July 10, 2003 1:05 PM
Subject: Re: [sqlwin] long varchar

Ricardo,

Acredito que sim, nunca testei, pois n�o evolu�mos al�m do CTD151. At� onde eu sei, segundo o �ltimo workshop da Gupta, somente na pr�xima vers�o, a 3.1 ou 4.0 (ainda n�o tem nome/defini��o) � que eles v�o modificar os mecanismos de conex�o com bases nativas (Oracle / Sybase / Etc.), por enquanto, continuam utilizando as mesmas API's anteriores, herdadas desde o SQLWindows 504 (ou algo assim).

Sds,
Erasmo

Ricardo Gomes wrote:
Erasmo, muito obrigado pelas informa��es. Tenho mais uma d�vida: ser� que o Centura 2000 tbm tem esse problema?
 
----- Original Message -----
Sent: Thursday, July 10, 2003 8:33 AM
Subject: Re: [sqlwin] long varchar

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

--
 

Erasmo Bispo de Oliveira Junior
Gerente de Projetos

Softway - SoftComex Informatica Ltda.

Web: http://www.softcomex.com.br
Email:
[EMAIL PROTECTED]
Fone: +55 (19) 3739-9241
Fax: +55 (19) 3739-9240



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)
===========================================
  



--
 

Erasmo Bispo de Oliveira Junior
Gerente de Projetos

Softway - SoftComex Informatica Ltda.

Web: http://www.softcomex.com.br
Email:
[EMAIL PROTECTED]
Fone: +55 (19) 3739-9241
Fax: +55 (19) 3739-9240



<<image/gif>>

<<Softway.gif>>

Responder a