GPO ( Grupo de Profissionais Oracle )
A maior comunidade Oracle do Brasil !

Home Fóruns SQL e PL/SQL Exportar campos da tabela

  • Este tópico contém 7 respostas, 3 vozes e foi atualizado pela última vez 2 meses atrás por Eliza.
Visualizando 8 posts - 1 até 8 (de 8 do total)
  • Autor
    Posts
  • #154602
    Eliza
    Participante

    Boa tarde pessoal,

    Como exportar esses campo de uma tabela para um arquivo ?
    <div>
    <div>Nome                           Nulo?                    Tipo</div>
    <div>——————– ——– ————– <span style=”color: #000000; font-family: arial, helvetica, sans-serif; font-size: 16px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: #ffffff; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; display: inline !important; float: none;”>————– ————–</span></div>
    <div>CODPROD                  NOT NULL       NUMBER(10)</div>
    <div>DESCRPROD             NOT NULL       VARCHAR2(80)</div>
    <div><span style=”background-color: #ffff99;”>IMAGEM                                             <span style=”color: #ff0000;”> BLOB  </span></span></div>
    </div>
    <div>M3                                                        FLOAT(126)</div>
    <div>MARCA                                                VARCHAR2(10)</div>
    <div>
    <div>PESOBRUTO                                      NOT NULL FLOAT(126)</div>
    <div>PESOLIQ                                             NOT NULL FLOAT(126)</div>
    <div>REFERENCIA                                      VARCHAR2(15)</div>
    <div><span style=”background-color: #ffff99;”>CARACTERISTICAS                           <span style=”color: #ff0000;”>VARCHAR2(4000)</span></span></div>
    </div>
    Tem 2 campos, IMAGEM é a foto do produto e o CARACTERISTICAS que é grande.

     

     

    #154603
    Eliza
    Participante

    Boa tarde pessoal,

    Como exportar esses campo de uma tabela para um arquivo ?

    Nome                           Nulo?                    Tipo
    ——————– ——– ————– —————-
    CODPROD                  NOT NULL       NUMBER(10)
    DESCRPROD             NOT NULL       VARCHAR2(80)
    IMAGEM                                                 BLOB  
    M3                                                            FLOAT(126)
    MARCA                                                   VARCHAR2(10)
    PESOBRUTO                                         NOT NULL FLOAT(126)
    PESOLIQ                                                NOT NULL FLOAT(126)
    CARACTERISTICAS                            VARCHAR2(4000)

    Tem 2 campos, IMAGEM é a foto do produto e o CARACTERISTICAS que é grande.

    #154617
    Motta
    Participante

    Como seria este “exportar” ?

    Seria importado em outra base ?

    Esta imagem é um .jpg ou coisa assim ?

    Existem exemplos à rodo de arquivo >> blob e vice versa.

    A exportação poderia ser algo como as colunas “comuns” num arquivo e a blob e vc(4k) como arquivos ‘anexos’ com a chave da tabela nomeando os arquivos , por ex produto 123456 teria os arquivos imagem_123456.jpg e carac_123456.txt .

     

    #154619
    Eliza
    Participante

    Exportar para um arquivo em disco.

    Sim, a imagem é um .jpg

     

    #154620

    Tudo blz, Eliza ? Espero que sim…. Bom, primeiro, como o outro colega disse, nós NÃO Sabemos (vc não disse) se esses dados exportados serão importados em outro database Oracle : SE for isso, https://asktom.oracle.com/pls/apex/asktom.search?tag=export-table-with-exclude-columns mostra como fazer um export (via datapump) que exporte algumas colunas apenas, haja LOBs ou não ….

    Supondo que na verdade a importação VAI ser feita em outro SGBD que não é Oracle (e portanto não entende o formato de arquivo .DMP do datapump) , aí Então é assim :  se vc não tiver NENHUMA habilidade/capacidade de programação in-house aí na sua empresa E se for aceitável  que os binários do BLOB sejam exportados para arquivos genéricos binários (SEM a extensão correta/adequada – vc até poderia os renomear depois) , aí tua Melhor opção seria uma tool de front-end/administração que já tenha essa capacidade, o Oracle SQL Developer é uma delas, que inclusive é gratuita pra vc baixar e usar : https://www.thatjeffsmith.com/archive/2014/05/exporting-multiple-blobs-with-oracle-sql-developer/ mostra como fazer essa exportação com ela…. Já se vc quer uma coisa mais sofisticada, onde (por exemplo) o arquivo já saia com a extensão correta, E onde vc tenha mais controle sobre o que será gerado e onde, aí vc terá que programar um pouquinho : praticamente QUALQUER linguagem de programação moderna (Java/javascript, linguagens .NET, Python,perl, basicamente qquer uma mesmo)  permite vc escrever um script/programinha que conecte no banco e faça o export customizado do jeitinho que vc quer : tem Toneladas de exemplos, como o colega disse, mas https://community.oracle.com/tech/developers/discussion/4004580/unloading-blob-to-original-file-like-pdf-doc-xml-xls-rtf-etc mostra em PL/SQL, https://oracle-base.com/articles/8i/export-blob mostra em java, https://www.thatjeffsmith.com/archive/2020/07/using-sqlcl-to-write-out-blobs-to-files-in-20-lines-of-js/em javascript (no caso executado pela tool sqlcl, mas Continua sendo javascript), https://stackoverflow.com/questions/51868112/blob-data-from-oracle-to-text-file-using-python discute sobre Pytthon…. Use aquela linguagem que conhecer melhor/preferir….

    Abraços,

     

    Chiappa

    #154621
    Eliza
    Participante

    Olá Chiappa,

    Puxa!  sua resposta foi completa.

    Deu até pra aprender um pouco mais sobre o BLOB.    Já estou estudando qual será a melhor forma de disponibilizar essas informações.

    Obrigada sempre pelos preciosos comentários.

    Até mais.

     

     

    #154622

    Blz… Só INSISTO no ponto que já tinha sido comentado antes, que é o OBJETIVO de vc exportar esses dados – se for para que eles sejam carregados em outros databases Oracle (ou neste mesmo database de hoje, para servirem de ‘backup’), eu recomendaria MESMO que vc gerasse um único arquivo .DMP que já contivesse os dados todos…. Só se REALMENTE o consumidor desses dados não for um banco Oracle (aí, obviamente, o banco não-Oracle Não Vai Entender o formato interno desse arquivo .DMP) aí sim vc pode usar a opção de gerar um arquivo pra cada BLOB, sim, e nesse caso vc tanto pode usar uma tool que já faça isso pra vc (como o SQL DEVELOPER) quanto pode escrever um programinha/scriptzinho teu, nas ferramentas/linguagens de programação indicadas OU em alguma outra que conheça melhor/prefira….

    Abraços,

     

    Chiappa

    #154632
    Eliza
    Participante

    Ainda não sabemos a base de dados deste parceiro.

    Vlw pelas dicas.  Já estou dando uma olhada no material que vc indicou.

    Até mais

Visualizando 8 posts - 1 até 8 (de 8 do total)
  • Você deve fazer login para responder a este tópico.