Pessoal comecei a fazer um programa para exportar dados do progress em formato sql para popular umas tabelas para testes e gostaria de fazer de uma forma generica, mas chegou num certo ponto e emperrou, falta a parte que exporta os dados, alguem poderia me ajudar? Att. Angelo OUTPUT TO VALUE("C:\ARQUIVO.SQL"). FOR EACH _FILE WHERE _FILE._FILE-NAME = "ADAEMPRE": PUT UNFORMATTED "INSERT INTO " + TRIM(_FILE._FILE-NAME) + " (". FOR EACH _FIELD OF _FILE BREAK BY _FIELD._FILE-RECID BY _FIELD._ORDER: PUT UNFORMATTED _FIELD._FIELD-NAME. IF LAST-OF(_FIELD._FILE-RECID) THEN DO: PUT UNFORMATTED ") ". END. ELSE DO: PUT UNFORMATTED ", ". END. END. PUT UNFORMATTED "VALUES (". *** falta esse trecho *** PUT UNFORMATTED ");" SKIP. END. OUTPUT CLOSE.
Geralmente um CSV resolve mesmo esse problema para transferencia de dados. Você manja como fazer isso em progress? No seu caso eu faria da seguinte forma: 1) Usaria uma tabela temporária no progress para armazenar todos os dados. 2) Faria um output para o meu ".csv" exemplo: Código: output to value ("arquivo.csv"). For each tt_tabelatemporaria no-lock: put unformatted trim(string(tt_tabelatemporaria.campo1) ";" trim(string(tt_tabelatemporaria.campo2) ";" [...] end. output close. Em SQL vc consegue importar para a tabela que vc queira. *Lembre que essa tabela deve ter o mesmo formato dos dados e quantidade de campos do arquivo csv. abs!