{"id":20408,"date":"2020-04-27T16:04:58","date_gmt":"2020-04-27T19:04:58","guid":{"rendered":"https:\/\/orabr.com\/?p=20408"},"modified":"2020-04-29T20:17:53","modified_gmt":"2020-04-29T23:17:53","slug":"-leitura-campo-blob-por-dblink-5","status":"publish","type":"post","link":"https:\/\/orabr.virttus.com\/?p=20408","title":{"rendered":"Leitura campo BLOB por DBLink."},"content":{"rendered":"<p><HTML><\/p>\n<div>  <span style=\"display:none\">&nbsp;<\/span>    <!--~-|**|PrettyHtmlStartT|**|-~-->  <\/p>\n<div id=\"ygrp-mlmsg\" style=\"position:relative;\">\n<div id=\"ygrp-msg\" style=\"z-index: 1;\">  <!--~-|**|PrettyHtmlEndT|**|-~-->        <\/p>\n<div id=\"ygrp-text\" >\n<p><div dir=\"ltr\">Tarde Paulo,<\/p>\n<div><\/div>\n<div>Fiz essa tentativa tamb\u00e9m, CAST \u00e9 uma fun\u00e7\u00e3o, ele nao permite passar LOB remoto como parametro para nenhuma fun\u00e7\u00e3o. Nem pra CAST, nem pra xmltype.CreateXML() ou coisa do genero. Mesmo erro, ORA-22992. Tem que fazer o insert as select mesmo, puxar o LOB integralmente para o servidor local e a\u00ed sim fazer o que quiser.<\/div>\n<div><\/div>\n<div>Abs<\/div>\n<\/div>\n<p><\/p>\n<div class=\"gmail_quote\">\n<div dir=\"ltr\" class=\"gmail_attr\">On Mon, 27 Apr 2020 at 15:58, &#39;&#39;Yahoo!&#39; <a href=\"mailto:pauloplanez@yahoo.com\">pauloplanez@yahoo.com<\/a>  &lt;<a href=\"mailto:\"><\/a>&gt; wrote:<\/div>\n<blockquote class=\"gmail_quote\" style=\"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);\"><p>      <u><\/u>                       <\/p>\n<div style=\"background-color:rgb(255,255,255);\">  <span>\u00a0<\/span>      <\/p>\n<div id=\"gmail-m_7433259849053018135ygrp-mlmsg\">\n<div id=\"gmail-m_7433259849053018135ygrp-msg\">\n<div id=\"gmail-m_7433259849053018135ygrp-text\">\n<div style=\"font-family:\"Helvetica Neue\",Helvetica,Arial,sans-serif;font-size:13px;\">\n<div>\n<div dir=\"ltr\">Oi Pessoal,<\/div>\n<div dir=\"ltr\"><\/div>\n<div dir=\"ltr\">J\u00e1 tentaram usando CAST<\/p>\n<p>Grato<\/p><\/div>\n<div><\/div>\n<div>\n<div align=\"left\"><font face=\"Courier New\"><b><var id=\"gmail-m_7433259849053018135ydp1d178b5eyui-ie-cursor\"><\/var><font style=\"vertical-align:inherit;\"><font style=\"vertical-align:inherit;\"><font style=\"vertical-align:inherit;\"><font style=\"vertical-align:inherit;\">************************************************ <\/font><\/font><\/font><\/font><\/b><\/font> <br \/><font color=\"#ff0000\" size=\"4\"><b><font style=\"vertical-align:inherit;\"><font style=\"vertical-align:inherit;\"><font style=\"vertical-align:inherit;\"><font style=\"vertical-align:inherit;\">Paulo Planez Diniz<\/font><\/font><\/font><\/font><\/b><\/font><br \/><b><font style=\"vertical-align:inherit;\"><font style=\"vertical-align:inherit;\"><font style=\"vertical-align:inherit;\"><font style=\"vertical-align:inherit;\"> Business &amp; IT <\/font><\/font><\/font><\/font><\/b> <b><font style=\"vertical-align:inherit;\"><font style=\"vertical-align:inherit;\"><font style=\"vertical-align:inherit;\"><font style=\"vertical-align:inherit;\">Consultant<\/font><\/font><\/font><\/font><\/b><\/div>\n<div align=\"left\"><font face=\"Courier New\"><b><font style=\"vertical-align:inherit;\"><font style=\"vertical-align:inherit;\"><font style=\"vertical-align:inherit;\"><font style=\"vertical-align:inherit;\">Personal Page: <\/font><\/font><\/font><\/font><\/b><\/font><i><a title=\"View public profile\" href=\"http:\/\/br.linkedin..com\/in\/planez\" name=\"m_7433259849053018135_webProfileURL\" rel=\"nofollow noopener noreferrer\" target=\"_blank\"><\/a><font color=\"#006699\"><a href=\"http:\/\/br.linkedin..com\/in\/planez\" rel=\"nofollow noopener noreferrer\" target=\"_blank\"><font style=\"vertical-align:inherit;\"><font style=\"vertical-align:inherit;\"><font style=\"vertical-align:inherit;\"><font style=\"vertical-align:inherit;\">http:\/\/en.linkedin.com\/in\/planez<\/font><\/font><\/font><\/font><\/a><\/font><\/i><\/div>\n<div align=\"left\"><font face=\"Courier New\"><b><font style=\"vertical-align:inherit;\"><font style=\"vertical-align:inherit;\"><font style=\"vertical-align:inherit;\"><font style=\"vertical-align:inherit;\">Phone &#8230;&#8230;..:<\/font><\/font><\/font><\/font><\/b><\/font><font style=\"vertical-align:inherit;\"><font style=\"vertical-align:inherit;\"><font style=\"vertical-align:inherit;\"><font style=\"vertical-align:inherit;\"><u><\/u> 55 67 9216 3477 <u><\/u>(GMT-04: 00)<\/font><\/font><\/font><\/font><\/div>\n<div style=\"font-size:13px;\" align=\"left\"><font face=\"Courier New\"><font style=\"vertical-align:inherit;\"><font style=\"vertical-align:inherit;\"><font style=\"vertical-align:inherit;\"><font style=\"vertical-align:inherit;\">Skype &#8230;: paulo.planez<\/font><\/font><\/font><\/font><\/font><\/div>\n<div align=\"left\"><font face=\"Courier New\"><b><font style=\"vertical-align:inherit;\"><font style=\"vertical-align:inherit;\"><font style=\"vertical-align:inherit;\"><font style=\"vertical-align:inherit;\">E-Mail &#8230;&#8230;.: <\/font><\/font><\/font><a href=\"mailto:pauloplanez@yahoo.com\" rel=\"nofollow noopener noreferrer\" target=\"_blank\"><i><font style=\"vertical-align:inherit;\"><font style=\"vertical-align:inherit;\"><font style=\"vertical-align:inherit;\">pauloplanez@yahoo.com<\/font><\/font><\/font><\/i><\/a><\/font><\/b><\/font><b><i> <\/i><a href=\"mailto:pauloplanez@yahoo..com\" rel=\"nofollow noopener noreferrer\" target=\"_blank\"><i><font style=\"vertical-align:inherit;\"><\/font><\/i><\/a><\/b><\/div>\n<div align=\"left\"><font face=\"Courier New\"><i><b>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 <a href=\"mailto:paulo.planez@gmail.com\" rel=\"nofollow noopener noreferrer\" target=\"_blank\"><font style=\"vertical-align:inherit;\"><font style=\"vertical-align:inherit;\"><font style=\"vertical-align:inherit;\"><font style=\"vertical-align:inherit;\">paulo.planez@gmail.com<\/font><\/font><\/font><\/font><\/a><\/b><\/i><\/font><font face=\"Courier New\"><br \/><\/font><\/div>\n<\/div>\n<\/div>\n<div><\/div>\n<div><\/div>\n<\/p><\/div>\n<div id=\"gmail-m_7433259849053018135ydp7fdc94f3yahoo_quoted_8119891330\">\n<div style=\"font-family:\"Helvetica Neue\",Helvetica,Arial,sans-serif;font-size:13px;color:rgb(38,40,42);\">\n<div>                      Em segunda-feira, 27 de abril de 2020 13:21:13 AMT, Thiago Souza <a href=\"mailto:souzatg@gmail.com\" target=\"_blank\" rel=\"noopener noreferrer\">souzatg@gmail.com<\/a>  &lt;<a href=\"mailto:\" target=\"_blank\" rel=\"noopener noreferrer\"><\/a>&gt; escreveu:                  <\/div>\n<div><\/div>\n<div><\/div>\n<div>\n<div id=\"gmail-m_7433259849053018135ydp7fdc94f3yiv6843475193\">\n<div>            <br clear=\"none\"><br clear=\"none\">          <\/p>\n<div dir=\"ltr\">Oi Denilson, tudo bem?<\/p>\n<div><br clear=\"none\"><\/div>\n<div>Tive de fazer isto recentemente para um projeto de Nota Fiscal Eletronica, para recuperar o XML da Nota Fiscal do Mastersaf que est\u00e1 em BLOB em outro banco de\u00a0 dados. O PLSQL\u00a0n\u00e3o permite que voc\u00ea fa\u00e7a um SELECT &#8230;. INTO em um campo BLOB utilizando uma tabela remota pois d\u00e1 erro de ORA-22992. por\u00e9m ele\u00a0 permite uma inser\u00e7\u00e3o direta com comando INSERT..SELECT.\u00a0<\/div>\n<div>Ent\u00e3o o workaround que utilizamos foi criar uma GLOBAL TEMPORARY TABLE com este campo BLOB, fazer um INSERT..SELECT nela buscando via DBLINK, e depois j\u00e1 dentro do ambiente destino, fazer o SELECT..INTO na vari\u00e1vel local, tipo abaixo:<\/div>\n<div><br clear=\"none\"><\/div>\n<div>CREATE GLOBAL TEMPORARY TABLE xx_temp_lob (templob BLOB);<\/div>\n<div>\/* Dentro da procedure PLSQL, fazer a sequencia abaixo *\/<\/div>\n<div>INSERT INTO xx_temp_lob\u00a0<\/div>\n<div>SELECT coluna_blob FROM xyz@dblink;<\/div>\n<div><br clear=\"none\"><\/div>\n<div>SELECT templob\u00a0INTO\u00a0l_variavelLob\u00a0FROM xx_temp_lob;<\/div>\n<div><br clear=\"none\"><\/div>\n<div>Tem essa solu\u00e7\u00e3o no ASKTOM tamb\u00e9m:\u00a0<a shape=\"rect\" href=\"https:\/\/asktom.oracle.com\/pls\/apex\/f?p=100:11:0::::P11_QUESTION_ID:950029833940\" rel=\"nofollow noopener noreferrer\" target=\"_blank\">https:\/\/asktom.oracle.com\/pls\/apex\/f?p=100:11:0::::P11_QUESTION_ID:950029833940<\/a><\/div>\n<div><br clear=\"none\"><\/div>\n<div>Espero que ajude.<\/div>\n<div>Abra\u00e7os!<\/div>\n<div><br clear=\"none\"><\/div>\n<div><br clear=\"none\"><\/div>\n<\/div>\n<p><br clear=\"none\"><\/p>\n<div>\n<div dir=\"ltr\">On Mon, 27 Apr 2020 at 14:10, FelixDenilson <a shape=\"rect\" href=\"mailto:felix..denilson@gmail.com\" rel=\"nofollow noopener noreferrer\" target=\"_blank\">felix.denilson@gmail.com<\/a>  &lt;<a shape=\"rect\" href=\"mailto:\" rel=\"nofollow noopener noreferrer\" target=\"_blank\"><\/a>&gt; wrote:<br clear=\"none\"><\/div>\n<blockquote style=\"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);\"><p>      <u><\/u>                       <\/p>\n<div style=\"background-color:rgb(255,255,255);\">  <span>\u00a0<\/span>      <\/p>\n<div id=\"gmail-m_7433259849053018135ydp7fdc94f3yiv6843475193gmail-m_-4111585373701237685ygrp-mlmsg\">\n<div id=\"gmail-m_7433259849053018135ydp7fdc94f3yiv6843475193gmail-m_-4111585373701237685ygrp-msg\">\n<div id=\"gmail-m_7433259849053018135ydp7fdc94f3yiv6843475193gmail-m_-4111585373701237685ygrp-text\">\n<p>Boa tarde Grupo.<br clear=\"none\">  <br clear=\"none\">  Algu\u00e9m teria um exemplo de como recuperar um campo BLOB de uma tabela que est\u00e1 em outro ambiente utilizando para isso um DBLink?<br clear=\"none\">  Estando no banco Oracle, preciso ler um campo IMAGEM da tabela xyz@dblink (ambiente APEX)\u00a0 e guardar no RI.\u00a0<br clear=\"none\">  <br clear=\"none\">  Vers\u00e3o R11.<br clear=\"none\">  <br clear=\"none\">  Obrigado,<br clear=\"none\">  Denilson  <\/p>\n<\/p><\/div>\n<div style=\"color:rgb(255,255,255);min-height:0px;\"><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/div>\n<\/blockquote>\n<\/div>\n<p>              <br clear=\"none\">      <br clear=\"none\">          <\/p>\n<div style=\"color:white;\"><\/div>\n<\/p><\/div>\n<\/div>\n<\/div>\n<\/div><\/div>\n<\/p><\/div>\n<div style=\"color:rgb(255,255,255);height:0px;\"><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/div>\n<\/blockquote>\n<\/div>\n<\/p><\/div>\n<p>               <\/HTML><\/p>\n","protected":false},"excerpt":{"rendered":"<p>&nbsp; Tarde Paulo, Fiz essa tentativa tamb\u00e9m, CAST \u00e9 uma fun\u00e7\u00e3o, ele nao permite passar LOB remoto como parametro para nenhuma fun\u00e7\u00e3o. Nem pra CAST,&hellip; <\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[29],"tags":[],"class_list":["post-20408","post","type-post","status-publish","format-standard","hentry","category-base-de-conhecimentos"],"_links":{"self":[{"href":"https:\/\/orabr.virttus.com\/index.php?rest_route=\/wp\/v2\/posts\/20408","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/orabr.virttus.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/orabr.virttus.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/orabr.virttus.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/orabr.virttus.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=20408"}],"version-history":[{"count":0,"href":"https:\/\/orabr.virttus.com\/index.php?rest_route=\/wp\/v2\/posts\/20408\/revisions"}],"wp:attachment":[{"href":"https:\/\/orabr.virttus.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=20408"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/orabr.virttus.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=20408"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/orabr.virttus.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=20408"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}