Buenos días a todos.
Tengo problemas al usar dbcreate() con campos de más de 10 caracteres.
Recuerdo que ya lo había usado sin problemas, pero ahora no puedo crear las tablas y esto me ha estado dando problemas.
Necesito crear urgentemente alias con nombres de campos más grandes debido a que los estoy creando a partir de declaraciones SQL.
Ya probé los drivers a ver si los crean con nombres largos, pero no los crean correctamente, ni siquiera en archivos DBF.
¿Alguien podría darme algo de ayuda?
Este es un ejemplo:
FUNCTION TesteDbCreate()
LOCAL oConn := ovs:oConLeitura
LOCAL aDbStruct := {}
LOCAL cAlias := 'tmp'
// 2. Estrutura com nome de campo bem longo (25 caracteres)
// No DBF clássico, isso seria truncado para "NOME_DO_CA"
AAdd( aDbStruct, { "NOME_DO_CAMPO_MUITO_LONGO_TESTE", "C", 50, 0 } )
AAdd( aDbStruct, { "VALOR_TESTE", "N", 12, 2 } )
MsgRun( "Tentando criar tabela com nomes longos...", "Aguarde", { || ;
dbCreate( 'mem:' + cAlias, aDbStruct,, .t., cAlias ) ;
} )
// 3. Verificação
IF select( cAlias ) > 0
(cAlias)->( xbrowse() )
(cAlias)->( dbclosearea() )
ELSE
MsgStop( "Erro: A tabela não foi criada ou o RDD falhou.", "Erro de Versão" )
ENDIF
return nilAlexandre Pereira
Harbour 3.2 - FWH - 25.12 - MSVC - VsCODE - Win11