Estou tentando usar a ADORDD do Harbour 3.0.
No uso recebo este erro:
Error BASE/1003 Variable does not exist: IDINSTANCI
Called from (b)FIELDBLOCK(0)
Called from TBROWSE:DOCONFIGURE(0)
Called from TBROWSE:STABILIZE(0)
Called from TBROWSE:FORCESTABLE(0)
Called from BROWSE(0)
Called from MAIN(14)
O nome do campo do arquivo é IDINSTANCIA, e ao que parece, o Harbour limita a 10 caracteres.
Alguma idéia diferente de modificar a estrutura da tabela?
Erro em ADORDD Harbour 3.0
Moderador: Moderadores
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Erro em ADORDD Harbour 3.0
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Erro em ADORDD Harbour 3.0
hoje precisei trabalhar com MySQL usando a função FieldName(0, e me deparei com este problema, do campo com mais de 10 caracteres, a função tava truncando o nome, pesquisei e não achei solução rápida, bem resolvi na base da RAT=(Recurso Altamente Técnico)=Gambiarra.
Troquei todas as chamadas de FieldName() e Field() para FieldNameExt() que criei, se o Driver corrente for ADORDD chama a função ADO_FIELDNAME(), senão FieldName() do Harbour
Troquei todas as chamadas de FieldName() e Field() para FieldNameExt() que criei, se o Driver corrente for ADORDD chama a função ADO_FIELDNAME(), senão FieldName() do Harbour
Código: Selecionar todos
#define TESTE
//#include 'boni_cmd.ch'
#include "adordd.ch"
#define WA_RECORDSET 1
REQUEST ADORDD
#ifdef TESTE
procedure test()
USE sogec alias "empresa" VIA "ADORDD" TABLE "empresa" MYSQL ;
FROM "127.0.0.1" USER "root" PASSWORD "root"
BoniBrowse() //Browse() modifcado
return
#endif
FUNCTION FieldNameExt( nField, nAlias )
LOCAL sRet, sAlias
LOCAL nCurrArea
DEFAULT nAlias TO Alias() //parâmetro opcional
nCurrArea := Select()
sele (nAlias)
sAlias := Alias()
IF ValType( nAlias ) = "N"
IF nCurrArea = nAlias
nCurrArea := 0
ENDIF
ELSE
nAlias := Select()
IF nCurrArea = nAlias
nCurrArea := 0
ENDIF
ENDIF
IF RddName() == "ADORDD"
sRet := ADO_FIELDNAME( nField, nAlias )
ELSE
sRet := (sAlias)->(FieldName( nField ))
ENDIF
IF nCurrArea > 0
DbSelectArea( nCurrArea )
ENDIF
RETURN sRet
STATIC FUNCTION ADO_FIELDNAME( nField, nAlias )
LOCAL cFieldName
LOCAL oRecordSet
DEFAULT nAlias TO Select() //parâmetro opcional
oRecordSet := USRRDD_AREADATA( nAlias )[ WA_RECORDSET ]
BEGIN SEQUENCE WITH {| oErr | Break( oErr ) }
cFieldName := oRecordSet:Fields( nField - 1 ):Name
RECOVER
cFieldName := ''
END SEQUENCE
RETURN cFieldName
010011110010000001110011011101010110001101100101011100110111001101101111001000001110100100100000011000110110111101101110011100110111010001110010011101011110110101100100011011110010000001100001001000000110111001101111011010010111010001100101
01001101011000010111001001100011011011110111001100100000010000010110111001110100011011110110111001101001011011110010000001000100011001010010000001000010011011110110111001101001
0101010001100101011011000011101000100000001010000011001000110111001010010011100100101101001110010011100000110100001100110010110100110101001100100011100100110000
01001101011000010111001001100011011011110111001100100000010000010110111001110100011011110110111001101001011011110010000001000100011001010010000001000010011011110110111001101001
0101010001100101011011000011101000100000001010000011001000110111001010010011100100101101001110010011100000110100001100110010110100110101001100100011100100110000
- Itamar M. Lins Jr.
- Administrador

- Mensagens: 7929
- Registrado em: 30 Mai 2007 11:31
- Localização: Ilheus Bahia
- Curtiu: 1 vez
Erro em ADORDD Harbour 3.0
Já tentou usar SQLMIX ?
Eu usei aqui algumas vezes com sucesso.
Saudações,
Itamar M. Lins Jr.
Eu usei aqui algumas vezes com sucesso.
Código: Selecionar todos
cRdd := RDDSETDEFAULT( "SQLMIX" )
nConn := RDDINFO( 1001, { "ODBC", "Driver={SQL Server Native Client 10.0};Server=localhost;database=LRXX;Uid=xyz;Pwd=xyz" })
DBUSEAREA( .T.,"SQLMIX", "select * from dbo.xyz", "xx" )
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Itamar M. Lins Jr.
Erro em ADORDD Harbour 3.0
ainda não, foi minha primeira experiência com MySQL no Harbour, usei pela facilidade de uso, a performance é melhor?
010011110010000001110011011101010110001101100101011100110111001101101111001000001110100100100000011000110110111101101110011100110111010001110010011101011110110101100100011011110010000001100001001000000110111001101111011010010111010001100101
01001101011000010111001001100011011011110111001100100000010000010110111001110100011011110110111001101001011011110010000001000100011001010010000001000010011011110110111001101001
0101010001100101011011000011101000100000001010000011001000110111001010010011100100101101001110010011100000110100001100110010110100110101001100100011100100110000
01001101011000010111001001100011011011110111001100100000010000010110111001110100011011110110111001101001011011110010000001000100011001010010000001000010011011110110111001101001
0101010001100101011011000011101000100000001010000011001000110111001010010011100100101101001110010011100000110100001100110010110100110101001100100011100100110000
Erro em ADORDD Harbour 3.0
Esqueci de dar o crédito: A função ADO_FIELDNAME() foi retirada de ADORDD.PRG, com algumas modificações.
010011110010000001110011011101010110001101100101011100110111001101101111001000001110100100100000011000110110111101101110011100110111010001110010011101011110110101100100011011110010000001100001001000000110111001101111011010010111010001100101
01001101011000010111001001100011011011110111001100100000010000010110111001110100011011110110111001101001011011110010000001000100011001010010000001000010011011110110111001101001
0101010001100101011011000011101000100000001010000011001000110111001010010011100100101101001110010011100000110100001100110010110100110101001100100011100100110000
01001101011000010111001001100011011011110111001100100000010000010110111001110100011011110110111001101001011011110010000001000100011001010010000001000010011011110110111001101001
0101010001100101011011000011101000100000001010000011001000110111001010010011100100101101001110010011100000110100001100110010110100110101001100100011100100110000
