MedNTX/1255 Internal Error Record too wide WapCreate

Fórum sobre Banco de Dados e RDDs para Clipper/[x]Harbour.

Moderador: Moderadores

paulobergo
Usuário Nível 1
Usuário Nível 1
Mensagens: 30
Registrado em: 09 Nov 2007 08:54
Localização: Juiz de Fora-MG

MedNTX/1255 Internal Error Record too wide WapCreate

Mensagem por paulobergo »

Oi pessoal...

Depois de substituir todas as rotinas de acesso ao MySQL pelas do Mediator, ao tentar acessar um conjunto de dados (um select com poucos registros, como as duplicatas a pagar a um fornecedor, com poucos campos também), recebi a seguinte mensagem:

Error MEDNTX/1255 Internal error (Record too wide) : WapCreate

Alguma idéia de como contornar esse erro?

Abraços!
Não se vê bem com insolação... é essencial cobrir os olhos...
Avatar do usuário
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

Re: MedNTX/1255 Internal Error Record too wide WapCreate

Mensagem por sygecom »

Olá paulobergo,
Eu não uso Mediator, mas para os colegas possa lhe dar uma melhor ajuda, poste parte do codigo onde acontece o erro.
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
paulobergo
Usuário Nível 1
Usuário Nível 1
Mensagens: 30
Registrado em: 09 Nov 2007 08:54
Localização: Juiz de Fora-MG

Re: MedNTX/1255 Internal Error Record too wide WapCreate

Mensagem por paulobergo »

Observando mais detalhadamente, vi que a query executada estava em uma linha com 938 caracteres...
Então, pode ser que o Mediator não suporte uma variável string "grande"?
Ou há um jeito de passar uma query em múltiplas linhas?

Exemplo, de uma query que também resulta no mesmo erro (esta tem 742 caracteres em uma única string):

select * from (select prdupl, prdata , prvalo, if(prpago=1,"pg", if(prdata<Date(Now()),"at", "av")) as prpago, cast( if(prpago, Date_Format(Date_Add(prdata, interval prdias day),GET_FORMAT(DATE,"EUR")), "::/::/::::") as char(10)) as prdbxa, premis, prcart, idcaddup as id from `dtffh`.`caddup` caddup where prfich="62606" and prpago=0 order by prdata ) as consulta1 union select * from (select prdupl, prdata, prvalo, if(prpago=1,"pg", if(prdata<Date(Now()),"at", "av")) as prpago, cast( if(prpago, Date_Format(Date_Add(prdata, interval prdias day),GET_FORMAT(DATE,"EUR")), "::/::/::::") as char(10)) as prdbxa, premis, prcart, idcaddup as id from `dtffh`.`caddup` caddup where prfich="62606" and prpago=1 order by prdbxa desc ) as consulta2;


Grato por qualquer colaboração!
Não se vê bem com insolação... é essencial cobrir os olhos...
Avatar do usuário
alaminojunior
Colaborador
Colaborador
Mensagens: 1717
Registrado em: 16 Dez 2005 21:26
Localização: Ubatuba - SP

Re: MedNTX/1255 Internal Error Record too wide WapCreate

Mensagem por alaminojunior »

O meu exemplo é muito mais simples, mas talvez lhe ajude com o comando SELECT. Aliás, já deu uma olhada no manual do Mediator ?

Código: Selecionar todos

Function Seek_Inc()
Local Seek1:=savenv(05,08,20,72),Seek2:= select(), Seek3:= ordsetfocus() //, Seek4:= SavEnv(05,08,19,69), Local5
msgbox3d(,"PESQUISA INCREMENTAL",,"w+/g","g/w")
@ 11,18 say "Digite a parte do nome que deseja consultar." colo "r+/w"
@ 12,23 get pesq_incr pict "@!K" send colorspec := "b/w"
setcursor(1)
read
setcursor(0)
if lastkey() = K_ESC
   rstenv(seek1)
   select(Seek2)
   ordsetfocus("indcli02")      
   public env:= clinom
   return
endif
cr1:= "select clicod,clinom from cdcli000 where clinom like '%"
cr2:= "%' order by clinom"
local5:= seconds()
use (netname()) as cr1+rtrim(pesq_incr)+cr2 new scrollable overwrite
local6:= seconds() .... e segue com tbrowse
Compilador xHarbour 1.2.3 + Embarcadero C++ 7.30
MySQL c/ SQLRDD
HwGui + GTWVG
paulobergo
Usuário Nível 1
Usuário Nível 1
Mensagens: 30
Registrado em: 09 Nov 2007 08:54
Localização: Juiz de Fora-MG

Re: MedNTX/1255 Internal Error Record too wide WapCreate

Mensagem por paulobergo »

Olá pessoal...
Alamino... grato pela dica...
Quanto ao tamanho da query, parece que terei mesmo que simplificar consultas ou defini-las especificamente no servidor...
Agora outra coisa que está embolando o meio-de-campo é um "crash" que acontece ao tentar obter o valor inteiro de uma coluna auto-incremento acima de 32766.
Exemplo:
Se uma tabela de contas a Receber tem um registro cujo campo idcontas (inteiro, autoinc) seja 42400
o Mediator trava e provoca uma falha de execução ilegal ao processar a query para obter o registro, mesmo sendo uma query bem simples, do tipo select * form contas where duplicata="000404A"
Vou tentar desvendar esta (e a de poder passar uma query "longa" para o Mediator) hoje ainda... Conseguindo, posto aqui!!!

Grato pela colaboração!

Abraços!
Não se vê bem com insolação... é essencial cobrir os olhos...
Avatar do usuário
Pablo César
Usuário Nível 7
Usuário Nível 7
Mensagens: 5312
Registrado em: 31 Mai 2006 10:22
Localização: Curitiba - Paraná

MedNTX/1255 Internal Error Record too wide WapCreate

Mensagem por Pablo César »

Nota do Moderador:

Por ser um questionamento relativo ao Mediator, este tópico foi movido para a seção "RDDs (Replaceable Database Drivers)" - Discussão sobre RDDs para Clipper/[x]Harbour: DBFCDX, SIX, Mediator, ADS, etc.
Um clip-abraço !

Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Responder