NÃO, colega!!! Plz RELEIA a minha resposta, eu disse " E sendo customizado NÃO TEM COMO as tools de migração da Oracle fazerem qquer conversão automáticamente para vc" - e justamente o CONTRÁRIO, NÃO TEM ferramenta alguma que faça mudança em código customizado não-Oracle!!!!
Em quinta-feira, 21 de maio de 2020 18:04:41 BRT, Tiago de Assis Pimenta tiagopime...@ymail.com [oracle_br] <oracle_br@yahoogrupos.com.br> escreveu: #yiv9562940478 #yiv9562940478 -- #yiv9562940478 .yiv9562940478ygrp-photo-title{clear:both;font-size:smaller;min-height:15px;overflow:hidden;text-align:center;width:75px;}#yiv9562940478 div.yiv9562940478ygrp-photo{background-position:center;background-repeat:no-repeat;background-color:white;border:1px solid black;min-height:62px;width:62px;}#yiv9562940478 div.yiv9562940478photo-title a, #yiv9562940478 div.yiv9562940478photo-title a:active, #yiv9562940478 div.yiv9562940478photo-title a:hover, #yiv9562940478 div.yiv9562940478photo-title a:visited {text-decoration:none;}#yiv9562940478 div.yiv9562940478attach-table div.yiv9562940478attach-row {clear:both;}#yiv9562940478 div.yiv9562940478attach-table div.yiv9562940478attach-row div {float:left;}#yiv9562940478 p {clear:both;padding:15px 0 3px 0;overflow:hidden;}#yiv9562940478 div.yiv9562940478ygrp-file {width:30px;}#yiv9562940478 div.yiv9562940478attach-table div.yiv9562940478attach-row div div a {text-decoration:none;}#yiv9562940478 div.yiv9562940478attach-table div.yiv9562940478attach-row div div span {font-weight:normal;}#yiv9562940478 div.yiv9562940478ygrp-file-title {font-weight:bold;}#yiv9562940478 #yiv9562940478 Boa tarde Chiappa, tudo bem ??? Desculpa a demora, mas com esses feriados relâmpagos, ficou tudo mais confuso ainda *rs* Perfeito Chiappa, sobre as tools de migração, existe então ferramentas que, quando os recursos nativos do Oracle, mudam de nome, essas ferramentas ajudam a fazer essa migração ? Não conhecia essa possibilidade. [ ]s Em segunda-feira, 18 de maio de 2020 11:44:19 BRT, Jose Laurindo Chiappa jlchia...@yahoo.com.br [oracle_br] <oracle_br@yahoogrupos.com.br> escreveu: Sim sr : com Absoluta Certeza já existe um objeto chamado JSON_VALUE , criado de OUTRA maneira pelo Oracle : se vc olhar a documentação Oracle do 12c em https://docs..oracle.com/database/121/SQLRF/functions093..htm#SQLRF56668 vc JÁ VAI VER que no 12c já foi introduzida uma FUNÇÃO INTERNA com esse nome.... Então SIM, concordo com sua análise : lá na época do 11g alguém construiu um código CUSTOMIZADO, com objetos CUSTOMIZADOS para simular as funções JSON que o Oracle 11 não tinha E não tem, agora por Casualidade no 19c algum/alguns desse(s) construtos e códigos CUSTOMIZADOS estão conflitando com o código/construtos JSON built-in da Oracle.... E sendo customizado NÂO TEM COMO as tools de migração da Oracle fazerem qquer conversão automáticamente para vc, código CUSTOMIZADO é por definição código DE USUÁRIO, Não-Oracle..... Suas duas alternativas então são : 1. RENOMEAR / reconstruir os objetos E códigos da solução JSON customizada aí presente para que NÃO CONFLITEM com o que o banco 12c em diante (e 19c inclusive, óbvio) já trazem OU 2. recodificar a aplicação para que passe a usar os NOVOS objetos E as novas built-in JSON do Oracle, ao invés de querer implementar o código customizado antigo que simulava os objetos/códigos JSON okdoc ?? OU SEJA, de qquer forma vc VAI TER QUE levantar quem e de que forma criou a solução JSON customizada aí no 11g E DEPOIS analisar se é mais fácil (em termos de esforço) adaptar nomes e objetos dela OU a alterar para usar os built-ins Oracle..... É uma tarefa LOCAL que ninguém pode fazer por você : no máximo, SE os desenvolvedores da solução json 11g optaram por re-usar um código publicamente disponível (como https://sourceforge.net/p/pljson/wiki/Home/ , por exemplo) TALVEZ algum desenvolvedor que já usava o mesmo código público possa te dar umas dicas mais, MAS se na verdade os devs optaram por criar código PRÓPRIO para simular o JSON em 11g aí só ELES é que podem alterar isso.... Abraços, José Laurindo Chiappa Em sábado, 16 de maio de 2020 01:50:47 BRT, Tiago de Assis Pimenta tiagopime...@ymail.com [oracle_br] <oracle_br@yahoogrupos.com.br> escreveu: Chiappa, JSON, XML e qualquer coisa relacionada, não entendo muito, então se eu falar alguma besteira, me desculpe. Pelo que eu entendi até agora, no 11g a empresa criou um "type JSON as object", e os construtores são: constructor function json return self as result,constructor function json(str varchar2) return self as result,constructor function json(str in clob) return self as result,constructor function json(cast json_value) return self as result,constructor function json(l in out nocopy json_list) return self as result Quando abri esse type "JSON", o erro está na linha: "json_data json_value_array," Abrindo o type "JSON_VALUE_ARRAY", o erro está na linha: "CREATE OR REPLACE TYPE "JSON_VALUE_ARRAY" as table of json_value;" O erro é: "Compilation errors for TYPE UMBRELLA.JSON_VALUE_ARRAY Error: PLS-00488: 'JSON_VALUE' must be a typeLine: 1Text: CREATE OR REPLACE TYPE "JSON_VALUE_ARRAY" as table of json_value; Error: PL/SQL: Compilation unit analysis terminatedLine: 1Text: CREATE OR REPLACE TYPE "JSON_VALUE_ARRAY" as table of json_value;" Outra pessoa que está me ajudando nessa jornada, me pediu para criar alguns sinônimos, entre eles, o json_value "create synonym json_value for pljson_value;" E não está criando, pelo que eu entendi, pois existe um type já com esse nome, é isso ?? [ ]s Em sexta-feira, 15 de maio de 2020 19:28:49 BRT, Jose Laurindo Chiappa jlchia...@yahoo.com.br [oracle_br] <oracle_br@yahoogrupos.com.br> escreveu: Ah, e outro detalhe importante : como o datatype JSON foi introduzido no 12c mas sofreu ** várias ** melhorias no 18c e 19c, tenha Certeza de que tudo que vc fizer é com a ÚLTIMA VERSÃO, mais Atualizada possível, do PL/SQL Developer OU então (melhor) use o Oracle SQL DEVELOPER 19.x ou o sql*plus 19..x que veio junbto com o RDBMS Oracle 19c.... Abraços, Chiappa Em sexta-feira, 15 de maio de 2020 19:16:32 BRT, Jose Laurindo Chiappa <jlchia...@yahoo.com.br> escreveu: Blz ? Então, primeira coisa até onde sei no Oracle 11g ** absolutamente Não Existia ** um datatype nativo para JSON, vide https://asktom.oracle.com/pls/apex/asktom.search?tag=converting-json-data-into-oracle-11g .... Pra começarmos a entender a sua situação, plz nos explique QUAL datatype vc usou realmente nas tabelas 11g (provavelmente deve ter sido CLOB, já que um JSON nada mais é do que um texto), e COMO vc fazia a conversão/validação para JSON (no 11g provavelmente vc devia estar usando as packages do APEX, imagino)... Abraços, Chiappa Em sexta-feira, 15 de maio de 2020 14:39:44 BRT, Tiago de Assis Pimenta tiagopime...@ymail.com [oracle_br] <oracle_br@yahoogrupos.com.br> escreveu: Pessoal, boa tarde, tudo bem ??? Na empresa que trabalho, estamos com esse projeto de migrar o database da versão 11.2.0.4.0 para 19.0.0.0.0, porém, estamos com alguns objetos inválidos, acredito eu, por causa do type JSON, que no 11 não era nativo e se não me engano, a partir da versão 12, já é nativo. Dei uma olhada em alguns docs da Oracle sobre a migração do database, mas nenhum ainda que eu vi, fala sobre as diferenças entre o JSON do 11g para o 19c Alguém passou por isso ? Ou que possa me passar o caminho das pedras ? - Dados do Ambiente - SO Desenvolvimento: Windows 10 64bitsPL/SQL Developer: 14.0.0.1961 (64 bit) Banco: Connected to Oracle Database 19c EE Extreme Perf Release 19.0.0.0.0 - Um dos Vários Erros - Compilation errors for TYPE BODY BASE.JSON Error: PLS-00103: Encountered the symbol "." when expecting one of the following: ( Line: 80 Text: insert_value json_value := nvl(pair_value, json_value...makenull); Obrigado. #yiv9562940478 -- #yiv9562940478ygrp-mkp {border:1px solid #d8d8d8;font-family:Arial;margin:10px 0;padding:0 10px;}#yiv9562940478 #yiv9562940478ygrp-mkp hr {border:1px solid #d8d8d8;}#yiv9562940478 #yiv9562940478ygrp-mkp #yiv9562940478hd {color:#628c2a;font-size:85%;font-weight:700;line-height:122%;margin:10px 0;}#yiv9562940478 #yiv9562940478ygrp-mkp #yiv9562940478ads {margin-bottom:10px;}#yiv9562940478 #yiv9562940478ygrp-mkp .yiv9562940478ad {padding:0 0;}#yiv9562940478 #yiv9562940478ygrp-mkp .yiv9562940478ad p {margin:0;}#yiv9562940478 #yiv9562940478ygrp-mkp .yiv9562940478ad a {color:#0000ff;text-decoration:none;}#yiv9562940478 #yiv9562940478ygrp-sponsor #yiv9562940478ygrp-lc {font-family:Arial;}#yiv9562940478 #yiv9562940478ygrp-sponsor #yiv9562940478ygrp-lc #yiv9562940478hd {margin:10px 0px;font-weight:700;font-size:78%;line-height:122%;}#yiv9562940478 #yiv9562940478ygrp-sponsor #yiv9562940478ygrp-lc .yiv9562940478ad {margin-bottom:10px;padding:0 0;}#yiv9562940478 #yiv9562940478actions {font-family:Verdana;font-size:11px;padding:10px 0;}#yiv9562940478 #yiv9562940478activity {background-color:#e0ecee;float:left;font-family:Verdana;font-size:10px;padding:10px;}#yiv9562940478 #yiv9562940478activity span {font-weight:700;}#yiv9562940478 #yiv9562940478activity span:first-child {text-transform:uppercase;}#yiv9562940478 #yiv9562940478activity span a {color:#5085b6;text-decoration:none;}#yiv9562940478 #yiv9562940478activity span span {color:#ff7900;}#yiv9562940478 #yiv9562940478activity span .yiv9562940478underline {text-decoration:underline;}#yiv9562940478 .yiv9562940478attach {clear:both;display:table;font-family:Arial;font-size:12px;padding:10px 0;width:400px;}#yiv9562940478 .yiv9562940478attach div a {text-decoration:none;}#yiv9562940478 .yiv9562940478attach img {border:none;padding-right:5px;}#yiv9562940478 .yiv9562940478attach label {display:block;margin-bottom:5px;}#yiv9562940478 .yiv9562940478attach label a {text-decoration:none;}#yiv9562940478 blockquote {margin:0 0 0 4px;}#yiv9562940478 .yiv9562940478bold {font-family:Arial;font-size:13px;font-weight:700;}#yiv9562940478 .yiv9562940478bold a {text-decoration:none;}#yiv9562940478 dd.yiv9562940478last p a {font-family:Verdana;font-weight:700;}#yiv9562940478 dd.yiv9562940478last p span {margin-right:10px;font-family:Verdana;font-weight:700;}#yiv9562940478 dd.yiv9562940478last p span.yiv9562940478yshortcuts {margin-right:0;}#yiv9562940478 div.yiv9562940478attach-table div div a {text-decoration:none;}#yiv9562940478 div.yiv9562940478attach-table {width:400px;}#yiv9562940478 div.yiv9562940478file-title a, #yiv9562940478 div.yiv9562940478file-title a:active, #yiv9562940478 div.yiv9562940478file-title a:hover, #yiv9562940478 div.yiv9562940478file-title a:visited {text-decoration:none;}#yiv9562940478 div.yiv9562940478photo-title a, #yiv9562940478 div..yiv9562940478photo-title a:active, #yiv9562940478 div.yiv9562940478photo-title a:hover, #yiv9562940478 div.yiv9562940478photo-title a:visited {text-decoration:none;}#yiv9562940478 div#yiv9562940478ygrp-mlmsg #yiv9562940478ygrp-msg p a span.yiv9562940478yshortcuts {font-family:Verdana;font-size:10px;font-weight:normal;}#yiv9562940478 .yiv9562940478green {color:#628c2a;}#yiv9562940478 .yiv9562940478MsoNormal {margin:0 0 0 0;}#yiv9562940478 o {font-size:0;}#yiv9562940478 #yiv9562940478photos div {float:left;width:72px;}#yiv9562940478 #yiv9562940478photos div div {border:1px solid #666666;min-height:62px;overflow:hidden;width:62px;}#yiv9562940478 #yiv9562940478photos div label {color:#666666;font-size:10px;overflow:hidden;text-align:center;white-space:nowrap;width:64px;}#yiv9562940478 #yiv9562940478reco-category {font-size:77%;}#yiv9562940478 #yiv9562940478reco-desc {font-size:77%;}#yiv9562940478 .yiv9562940478replbq {margin:4px;}#yiv9562940478 #yiv9562940478ygrp-actbar div a:first-child {margin-right:2px;padding-right:5px;}#yiv9562940478 #yiv9562940478ygrp-mlmsg {font-size:13px;font-family:Arial, helvetica, clean, sans-serif;}#yiv9562940478 #yiv9562940478ygrp-mlmsg table {font-size:inherit;font:100%;}#yiv9562940478 #yiv9562940478ygrp-mlmsg select, #yiv9562940478 input, #yiv9562940478 textarea {font:99% Arial, Helvetica, clean, sans-serif;}#yiv9562940478 #yiv9562940478ygrp-mlmsg pre, #yiv9562940478 code {font:115% monospace;}#yiv9562940478 #yiv9562940478ygrp-mlmsg * {line-height:1.22em;}#yiv9562940478 #yiv9562940478ygrp-mlmsg #yiv9562940478logo {padding-bottom:10px;}#yiv9562940478 #yiv9562940478ygrp-msg p a {font-family:Verdana;}#yiv9562940478 #yiv9562940478ygrp-msg p#yiv9562940478attach-count span {color:#1E66AE;font-weight:700;}#yiv9562940478 #yiv9562940478ygrp-reco #yiv9562940478reco-head {color:#ff7900;font-weight:700;}#yiv9562940478 #yiv9562940478ygrp-reco {margin-bottom:20px;padding:0px;}#yiv9562940478 #yiv9562940478ygrp-sponsor #yiv9562940478ov li a {font-size:130%;text-decoration:none;}#yiv9562940478 #yiv9562940478ygrp-sponsor #yiv9562940478ov li {font-size:77%;list-style-type:square;padding:6px 0;}#yiv9562940478 #yiv9562940478ygrp-sponsor #yiv9562940478ov ul {margin:0;padding:0 0 0 8px;}#yiv9562940478 #yiv9562940478ygrp-text {font-family:Georgia;}#yiv9562940478 #yiv9562940478ygrp-text p {margin:0 0 1em 0;}#yiv9562940478 #yiv9562940478ygrp-text tt {font-size:120%;}#yiv9562940478 #yiv9562940478ygrp-vital ul li:last-child {border-right:none !important;}#yiv9562940478