Kleyton Posted February 10, 2009 Report Share Posted February 10, 2009 Estou precisando converter um arquivo do firebird, alguém poderia me enviar o programa para converter, preciso converter o arquivo do firebird, e não estou conseguindo, até consegui abrir o arquivo com o IBExpert e ver as tabelas, mas ai converter as tabelas para DBF ou TXT, não estou conseguindo. Extensão do arquivo do FIREBIRD é FDB Se alguém puder me dar uma ajuda, ficarei enternamente grato. Kleyton xHarbour 99.5 Clipper5.2E+Clipper5.3b+Blink7+FW2.0d+Fwh 2.5 (xHarbour 0.99.3) cleitonbala@bol.com.br Quote Link to comment Share on other sites More sharing options...
Kleyton Posted February 10, 2009 Author Report Share Posted February 10, 2009 Estou precisando converter um arquivo do firebird, alguém poderia me enviar o programa para converter, preciso converter o arquivo do firebird, e não estou conseguindo, até consegui abrir o arquivo com o IBExpert e ver as tabelas, mas ai converter as tabelas para DBF ou TXT, não estou conseguindo. Extensão do arquivo do FIREBIRD é FDB Se alguém puder me dar uma ajuda, ficarei enternamente grato. Kleyton xHarbour 99.5 Clipper5.2E+Clipper5.3b+Blink7+FW2.0d+Fwh 2.5 (xHarbour 0.99.3) cleitonbala@bol.com.br Quote Link to comment Share on other sites More sharing options...
Kbelo Posted February 10, 2009 Report Share Posted February 10, 2009 citação:Estou precisando converter um arquivo do firebird, alguém poderia me enviar o programa para converter, preciso converter o arquivo do firebird, e não estou conseguindo, até consegui abrir o arquivo com o IBExpert e ver as tabelas, mas ai converter as tabelas para DBF ou TXT, não estou conseguindo. Extensão do arquivo do FIREBIRD é FDB Se alguém puder me dar uma ajuda, ficarei enternamente grato. Kleyton xHarbour 99.5 Clipper5.2E+Clipper5.3b+Blink7+FW2.0d+Fwh 2.5 (xHarbour 0.99.3) cleitonbala@bol.com.br id=quote>id=quote>http://www.sqlmanager.net/en/products/ibfb/manager/download Use o EMS Sql manager que vc consegue exportar as Tabelas para DBF. Mas peque a vesão Full pq a Free não exporta. Outro caminho seria o que eu utilizo. Tenho um programa a parte só para acessar Bancos e converter para o meu sistema, só tem que adaptar a cada banco. Marcelo Michels Msn/E-mail:marcelo@infototal.com.br Msn/E-mail:celo.michels@hotmail.com xHarbour 1.1 + Fwh 8.01 + WorkShop + Bcc 5.82 + WvwTools + SQLRDD + xMate. Quote Link to comment Share on other sites More sharing options...
sygecom Posted February 10, 2009 Report Share Posted February 10, 2009 Pode tentar fazer isso com a versão demo do xharbour comercial, se é apenas para fazer isso, baixa a versão conecta no firebird e manda tudo para DBF. Leonardo Machado Porto Alegre-RS Hwgui + Mysql / xHarbour 1.0.0 Quote Link to comment Share on other sites More sharing options...
henning Posted February 11, 2009 Report Share Posted February 11, 2009 Pode fazer também acessando o firebird atraves do ODBC, segue abaixo um exemplo. // ODBC 32 bits access from FiveWin #include "FiveWin.ch" #include "Sql.ch" static oInformacio //----------------------------------------------------------------------------// function Main() Private oWindow set date to british set century on DEFINE WINDOW oWindow TITLE "Convesor de Dados - Henning Informática" SET MESSAGE OF oWindow TO "Aguarde convertendo dados........" DEFINE MSGITEM oInformacion OF oWindow:oMsgBar SIZE 50 ACTIVATE WINDOW oWindow ON INIT odbc() RETURN nil function odbc() local cSql local nStep local odbc := todbc():New('teste') Local ncount, nregistros, tdbodbc // ? odbc:cConnect tdbodbc := tdbodbc():new("fornecedor",odbc) nRegistros := tdbodbc:reccount() nCount:= 1 use FOR00 alias for FOR->(DBZap()) do While nCount <= nRegistros cCodFor := tdbodbc:fieldget(tdbodbc:fieldpos("FOR_CODIGO")) cFanta := tdbodbc:fieldget(tdbodbc:fieldpos("FOR_FANTA")) cRazao := tdbodbc:fieldget(tdbodbc:fieldpos("FOR_RAZAO")) cEnder := tdbodbc:fieldget(tdbodbc:fieldpos("FOR_ENDER")) cNumero := tdbodbc:fieldget(tdbodbc:fieldpos("FOR_NUMERO")) cTipo := tdbodbc:fieldget(tdbodbc:fieldpos("FOR_TIPO")) cCep := tdbodbc:fieldget(tdbodbc:fieldpos("FOR_CEP")) cCidade := tdbodbc:fieldget(tdbodbc:fieldpos("FOR_CIDADE")) cUF := tdbodbc:fieldget(tdbodbc:fieldpos("FOR_UF")) cCNPJ := tdbodbc:fieldget(tdbodbc:fieldpos("FOR_CNPJ")) cInsc := tdbodbc:fieldget(tdbodbc:fieldpos("FOR_INSC")) cFone1 := tdbodbc:fieldget(tdbodbc:fieldpos("FOR_FONE1")) cFone2 := tdbodbc:fieldget(tdbodbc:fieldpos("FOR_FONE2")) cContato:= tdbodbc:fieldget(tdbodbc:fieldpos("FOR_CONTATO")) cFAX := tdbodbc:fieldget(tdbodbc:fieldpos("FOR_FAX")) cConta := tdbodbc:fieldget(tdbodbc:fieldpos("FOR_CONTA")) cBanco := tdbodbc:fieldget(tdbodbc:fieldpos("FOR_BANCO")) cAgencia:= tdbodbc:fieldget(tdbodbc:fieldpos("FOR_AGENCIA")) cEmail := tdbodbc:fieldget(tdbodbc:fieldpos("FOR_EMAIL")) cHomeP := tdbodbc:fieldget(tdbodbc:fieldpos("FOR_HOMEP")) cCelular:= tdbodbc:fieldget(tdbodbc:fieldpos("FOR_CELULAR")) cBairro := tdbodbc:fieldget(tdbodbc:fieldpos("FOR_BAIRRO")) cComple := tdbodbc:fieldget(tdbodbc:fieldpos("FOR_COMPLEMENTO")) cOBS := tdbodbc:fieldget(tdbodbc:fieldpos("FOR_OBS")) dDCad := Retorna_Data(tdbodbc:fieldget(tdbodbc:fieldpos("FOR_DCAD"))) cCodGRU := tdbodbc:fieldget(tdbodbc:fieldpos("FOR_GRUPO")) FOR->(DBAppend()) FOR->(_Field->FOR_Codigo := cCodFor ) FOR->(_Field->FOR_Fanta := cFanta ) FOR->(_Field->FOR_Razao := cRazao ) FOR->(_Field->FOR_Ender := cEnder ) FOR->(_Field->FOR_Numero := cNumero ) FOR->(_Field->FOR_Cep := cCEP ) FOR->(_Field->FOR_Cid := SubStr(cCidade,1,25)) FOR->(_Field->FOR_UF := cUF ) FOR->(_Field->FOR_CNPJ := cCNPJ ) FOR->(_Field->FOR_Insc := cInsc ) FOR->(_Field->FOR_Fone1 := cFone1 ) FOR->(_Field->FOR_Fone2 := cFone2 ) FOR->(_Field->FOR_Contat := cContato ) FOR->(_Field->FOR_FAX := cFAX ) FOR->(_Field->FOR_Conta := cConta ) FOR->(_Field->FOR_Banco := cBanco ) FOR->(_Field->FOR_Agenci := cAgencia) FOR->(_Field->FOR_Email := SubStr(cEmail,1,50)) FOR->(_Field->FOR_HomeP := SubStr(cHomeP,1,50)) FOR->(_Field->FOR_Celula := cCelular ) FOR->(_Field->FOR_Bairro := SubStr(cBairro,1,25)) FOR->(_Field->FOR_Comple := cComple ) FOR->(_Field->FOR_OBs := SubStr(cOBS,1,180)) FOR->(_Field->FOR_DCad := dDCad ) FOR->(_Field->FOR_CodGRU := cCodGRU ) tdbodbc:Skip() nCount:= nCount + 1 EndDo FOR->(DBCommit()) FOR->(DBCloseArea()) tdbodbc:end() tdbodbc := tdbodbc():new("GRUPOS",odbc) nRegistros := tdbodbc:reccount() nCount:= 1 use GRP00 alias grp GRP->(DBZap()) do While nCount <= nRegistros cCodGru := tdbodbc:fieldget(tdbodbc:fieldpos("GRU_CODIGO")) cDesc := tdbodbc:fieldget(tdbodbc:fieldpos("GRU_DESCRICAO")) GRP->(DBAppend()) GRP->(_Field->GRP_Codigo := cCodGRU ) GRP->(_Field->GRP_Desc := cDesc ) tdbodbc:Skip() nCount:= nCount + 1 EndDo GRP->(DBCommit()) GRP->(DBCloseArea()) tdbodbc:end() tdbodbc := tdbodbc():new("GRU_FORNEC",odbc) nRegistros := tdbodbc:reccount() nCount:= 1 use GRF00 alias grf GRF->(DBZap()) do While nCount <= nRegistros cCodGru := tdbodbc:fieldget(tdbodbc:fieldpos("GRU_CODIGO")) cDesc := tdbodbc:fieldget(tdbodbc:fieldpos("GRU_DESC")) GRF->(DBAppend()) GRF->(_Field->GRF_Codigo := cCodGRU ) GRF->(_Field->GRF_Desc := cDesc ) tdbodbc:Skip() nCount:= nCount + 1 EndDo GRF->(DBCommit()) GRF->(DBCloseArea()) tdbodbc:end() tdbodbc := tdbodbc():new("MOV_CONSU",odbc) nRegistros := tdbodbc:reccount() nCount:= 1 use MNC00 alias mnc MNC->(DBZap()) do While nCount <= nRegistros cCodPro := tdbodbc:fieldget(tdbodbc:fieldpos("MOV_CODPRO")) cCodREQ := tdbodbc:fieldget(tdbodbc:fieldpos("MOV_TIPO")) cOper := tdbodbc:fieldget(tdbodbc:fieldpos("MOV_OPER")) dData := Retorna_Data(tdbodbc:fieldget(tdbodbc:fieldpos("MOV_DATA"))) dDataD := Retorna_Data(tdbodbc:fieldget(tdbodbc:fieldpos("MOV_DATAD"))) dDataE := Retorna_Data(tdbodbc:fieldget(tdbodbc:fieldpos("MOV_DATAE"))) nQuant := tdbodbc:fieldget(tdbodbc:fieldpos("MOV_QUANT")) cDoc := tdbodbc:fieldget(tdbodbc:fieldpos("MOV_DOC")) cDev := tdbodbc:fieldget(tdbodbc:fieldpos("MOV_DEVOLVIDO")) nCodInt := tdbodbc:fieldget(tdbodbc:fieldpos("MOV_CODINT")) MNC->(DBAppend()) MNC->(_Field->MNC_CodPro := PadL(AllTrim(cCodPro),10)) MNC->(_Field->MNC_CodReq := cCodReq ) MNC->(_Field->MNC_CodDep := '000001' ) MNC->(_Field->MNC_Data := dData ) MNC->(_Field->MNC_DataD := dDataD ) MNC->(_Field->MNC_Quant := nQuant ) If AllTrim(cDev) == 'S' MNC->(_Field->MNC_QuantD := nQuant ) MNC->(_Field->MNC_Dev := 'S' ) Else MNC->(_Field->MNC_Dev := 'N' ) Endif MNC->(_Field->MNC_CodInt := nCodInt ) MNC->(_Field->MNC_Doc := cDoc ) tdbodbc:Skip() nCount:= nCount + 1 EndDo MNC->(DBCommit()) MNC->(DBCloseArea()) tdbodbc:end() tdbodbc := tdbodbc():new("MOV_ESTQ",odbc) nRegistros := tdbodbc:reccount() nCount:= 1 use MMC00 alias MMC MMC->(DBZap()) do While nCount <= nRegistros cCodPro := tdbodbc:fieldget(tdbodbc:fieldpos("MOV_CODPRO")) cCodREQ := tdbodbc:fieldget(tdbodbc:fieldpos("MOV_TIPO")) cOper := tdbodbc:fieldget(tdbodbc:fieldpos("MOV_OPER")) dData := Retorna_Data(tdbodbc:fieldget(tdbodbc:fieldpos("MOV_DATA"))) nValor := tdbodbc:fieldget(tdbodbc:fieldpos("MOV_VALOR")) nQuant := tdbodbc:fieldget(tdbodbc:fieldpos("MOV_QUANT")) cDoc := tdbodbc:fieldget(tdbodbc:fieldpos("MOV_DOC")) nCodInt := tdbodbc:fieldget(tdbodbc:fieldpos("MOV_CODINT")) cCodFor := tdbodbc:fieldget(tdbodbc:fieldpos("MOV_CODFOR")) MMC->(DBAppend()) MMC->(_Field->MMC_CodPRO := PadL(AllTrim(cCodPRO),10)) MMC->(_Field->MMC_CodREQ := cCodReq ) MMC->(_Field->MMC_CodDEP := '000001') MMC->(_Field->MMC_CodInt := nCodInt ) MMC->(_Field->MMC_Doc := cDoc ) MMC->(_Field->MMC_Oper := cOper ) MMC->(_Field->MMC_Quant := nQuant ) MMC->(_Field->MMC_Data := dData ) MMC->(_Field->MMC_Valor := nValor ) MMC->(_Field->MMC_CodFor := cCodFor ) tdbodbc:Skip() nCount:= nCount + 1 EndDo MMC->(DBCommit()) MMC->(DBCloseArea()) tdbodbc:end() tdbodbc := tdbodbc():new("PRODUTOS",odbc) nRegistros := tdbodbc:reccount() nCount:= 1 use PRO00 alias PRO PRO->(DBZap()) do While nCount <= nRegistros cCodigo := tdbodbc:fieldget(tdbodbc:fieldpos("PRO_CODIGO")) cDesc := tdbodbc:fieldget(tdbodbc:fieldpos("PRO_DESCRICAO")) cUnid := tdbodbc:fieldget(tdbodbc:fieldpos("PRO_UNID")) cCodGRU := tdbodbc:fieldget(tdbodbc:fieldpos("PRO_CODGRU")) cLocal := tdbodbc:fieldget(tdbodbc:fieldpos("PRO_LOCAL")) nQuant := tdbodbc:fieldget(tdbodbc:fieldpos("PRO_QUANT")) nMin := tdbodbc:fieldget(tdbodbc:fieldpos("PRO_MIN")) nValor := tdbodbc:fieldget(tdbodbc:fieldpos("PRO_VALOR")) cOBS := tdbodbc:fieldget(tdbodbc:fieldpos("PRO_OBS")) cRefer := tdbodbc:fieldget(tdbodbc:fieldpos("PRO_REFER")) cCodBar := tdbodbc:fieldget(tdbodbc:fieldpos("PRO_CODBAR")) nEMAX := tdbodbc:fieldget(tdbodbc:fieldpos("PRO_EMAX")) cConsu := tdbodbc:fieldget(tdbodbc:fieldpos("PRO_CONSUMIVEL")) cCodFOR := tdbodbc:fieldget(tdbodbc:fieldpos("PRO_CODFOR")) PRO->(DBAppend()) PRO->(_Field->PRO_Codigo := PadL(AllTrim(cCodigo),10)) PRO->(_Field->PRO_Desc := cDesc ) PRO->(_Field->PRO_Unid := cUnid ) PRO->(_Field->PRO_CodGru := cCodGRU ) PRO->(_Field->PRO_Local := cLocal ) PRO->(_Field->PRO_Quant := nQuant ) PRO->(_Field->PRO_EMin := nMin ) PRO->(_Field->PRO_Valor := nValor ) PRO->(_Field->PRO_OBS := cOBS ) PRO->(_Field->PRO_Refer := cRefer ) PRO->(_Field->PRO_CodBar := cCodBar ) PRO->(_Field->PRO_EMAX := nEMax ) PRO->(_Field->PRO_AI := 'A' ) PRO->(_Field->PRO_Consu := cConsu ) PRO->(_Field->PRO_CodFOR := cCodFOR ) tdbodbc:Skip() nCount:= nCount + 1 EndDo PRO->(DBCommit()) PRO->(DBCloseArea()) tdbodbc:end() tdbodbc := tdbodbc():new("REQUISITANTE",odbc) nRegistros := tdbodbc:reccount() nCount:= 1 use REQ00 alias REQ REQ->(DBZap()) do While nCount <= nRegistros cCodigo := tdbodbc:fieldget(tdbodbc:fieldpos("REQ_CODIGO")) cNome := tdbodbc:fieldget(tdbodbc:fieldpos("REQ_DESCRICAO")) REQ->(DBAppend()) REQ->(_Field->REQ_Codigo := cCodigo) REQ->(_Field->REQ_Nome := cNome ) REQ->(_Field->REQ_CodDEP := '000001') tdbodbc:Skip() nCount:= nCount + 1 EndDo REQ->(DBCommit()) // REQ->(browse()) REQ->(DBCloseArea()) Use DEP00 alias DEP DEP->(DBZap()) DEP->(DBAppend()) DEP->(_Field->DEP_Codigo := '000001' ) DEP->(_Field->DEP_Desc := 'Departamento/Setor') DEP->(DBCommit()) DEP->(DBCloseArea()) DBCLoseAll() tdbodbc:end() odbc:end() RUN DEL *.CDX oWindow:End() return nil //----------------------------------------------------------------------------// Function Retorna_Data(cData) Return CTod(SubStr(cData,9,2)+'/'+SubStr(cData,6,2)+'/'+SubStr(cData,1,4)) FWH 2.7, xHarbour 0.99.61, hbMake, ContexT, PellesC 4.00.50, DBF/CDX Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.