Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 .. 3 4 5 6 7 8 9 [10] 11 12   вперед  Ctrl      все
 Re: Как разврапировать пакет?  [new]
barrabas
Member

Откуда: от махмуда
Сообщений: 10499
Странно некоторые пакеты разврапливаются (они имеют "компактный" вид)

a000000
ab
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
b
11f9 4fd
+i/WSf3Qqe733D24PG5WZJLueb0wgw2nLtCJfATGALuwTUnKiHgd/zikTLfLjuieYt7Z2DAx
twgnwodZ5KVhidzZDPtVMmWWaT8Q+RCHkvUndT9AROFJ7A2P+OuGcg8kvAD7RyBdmaYOIiqM
PperQGejZoUE8j7Zdx2mFW28t5x1poPnZxHyHm9Qq38WfGyIjmmgKhhfKk7305v4Rp5ZoGJQ
BUVcx1I5aLEIHMjoVppyyOmCcB9aDXQHh6ikCpka9Sg7Cobl6Fl0VE/X60mJGGIcY8gBBVHb
E/TMT3vVyq8PmNuBU67t9zJnJZ8A8kRjiCzRd4Q8S6RqHAnKKzjh2XkU3uVi/PWglwIwPDL0
WypFaagqaj7hE6FYrDKb4dnJE9dKcQ0+7yTfmDeK14f6E1ieQymIXJ/rYnfAgIPIks/TF9ub
02/97R9HMfXvwCFr7roF3EDAtIkVVR0cwlE28BiDxGiZ4Akcrby+FGaT/vYitSW3iHv6cIU3
nYrGIxl8JByWIUXexPag6wVAhxExw4WgizIK7LEr/pl2eM2vcn/Dl0EwNSPWzq0wBgnD2MDU
QdxhXawbdfWIw6eG0R72WtM9QHkDWLbEaD0Xlpyz9VC+b1e5M7EBVZy6T4uKxeq+GRrQCkMq
i5toA0Wxa3yrcoU4xdTGtSWfzaMLGcjDkNg8S6sBWiFfhSY9vS2BLjGG9I2Ig99sTuGrW09A
m+yZQKH3Xis17lpxygxyyGwT6axZn/r8YXmvOm52SpQiwBzORpkUd5PCk64XXwpPQZkov3tY
jGDGXJLykqlUhY/WDhfSbF1iqsPAOI6+RFBrmySNX6knDc9bBqSmv/POc/02IOGBgjCeGTv/
SpojF8YHgTE/zTBM2gj2SSsFRrpK+PFeseXkXHlXOn/EEyc1UICVB68ivI27kZ2a1nP5tO3W
kGKNOC2i/6zJxLryCqvy9FvlbSttQB8QHx3BY/9mXsWYP0fbrob0KNB2NP7BoiZ6bvpFtVdb
a0woi5vbb0yC+8iRK4hOSisoZmcx8EyFcMI4G7fwPWP6h0O+W3/OpQie6cwgXvnp7zzPLG12
p3ZYJ+abI+bnPFRnJ49oBYbivQ2kLr5ruxu9PWqG9fyzkRw/P2XXoxv3gkUM+vUbKLcpWTMb
x22baB2QRxySZPpucmPelJdbMgD6jKt2F8zwbMePx2URSgyIGlDYAdMhO4pyUS6FPd18nOod
QVn/BKXYcHt21rH+AC8x+RFuK7Fk+aYB/SlA

а некоторые имеют вид


0
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
3
b
8106000
1
4
0
193
2 :e:
1PACKAGE:
1BODY:
1OC_SERTIFICATION:
1GC_SP_DELIMITER:
1CONSTANT:
1VARCHAR2:
11:
1 :
1FUNCTION:
1MAKE_SERTIF:
1P_EMITENT_ID:
1P5CONFIG:
1ID_EMITENT:
1TYPE:
1P_FILIAL_ID:
1ID_FILIAL:
1P_SDATE:
1OC_COMMERCIAL_SETTINGS:
1SDATE:
1P_BLDATE:
1BLDATE:
1P_MULTICURRENCY:
1MULTICURRENCY:
1P_DC_FOR_ISSUER:
1DC_FOR_ISSUER:
1P_ONLINE:
1ON_LINE:
1P_RFID:
1RFID:
1P_BONUS_CLUB:
1BONUS_CLUB:
1P_REMOTE_DEBIT:
1RD:
1P_REMOTE_CREDIT:

и они не разврапливаются
базы хоть и разных систем но по версии одинаковые

разные врапилки для 10тки есть чтоли?
21 июл 11, 16:05    [11007798]     Ответить | Цитировать Сообщить модератору
 Re: Как разврапировать пакет?  [new]
barrabas
Member

Откуда: от махмуда
Сообщений: 10499
По идее если 2й вариант завраплен 9шным врапером, то должен раскрываться softdream или rewrap.exe, он они с умным сидом возвращают опять заврапленный результат
21 июл 11, 16:32    [11008011]     Ответить | Цитировать Сообщить модератору
 Re: Как разврапировать пакет?  [new]
barrabas
Member

Откуда: от махмуда
Сообщений: 10499
есть подозрение на символы конца строки,
хотя пробовал и chr(13) и chr(10) и оба сразу
21 июл 11, 17:36    [11008573]     Ответить | Цитировать Сообщить модератору
 Re: Как разврапировать пакет?  [new]
barrabas
Member

Откуда: от махмуда
Сообщений: 10499
Разобрался, spool тут использовать нельзя (ну или только для маленьких пакетов, что в одной строке в сорцах хранятся)

нужно по другому доставать, первое что приходит в голову самому тупо в цикле склеить в файл, но стопудов есть пакет для этого, кто подстажет
22 июл 11, 11:21    [11011227]     Ответить | Цитировать Сообщить модератору
 Re: Как разврапировать пакет?  [new]
tru55
Member

Откуда: СПб
Сообщений: 19740
barrabas
Разобрался, spool тут использовать нельзя (ну или только для маленьких пакетов, что в одной строке в сорцах хранятся)

Почему?
22 июл 11, 11:36    [11011367]     Ответить | Цитировать Сообщить модератору
 Re: Как разврапировать пакет?  [new]
barrabas
Member

Откуда: от махмуда
Сообщений: 10499
tru55
barrabas
Разобрался, spool тут использовать нельзя (ну или только для маленьких пакетов, что в одной строке в сорцах хранятся)

Почему?

он каждую строку запроса печатает с новой строки, таким образом портит исходник
заставить этого не делать при распечатке селекта у меня не получилось, т.к. со спулом я почти не работал.
В принципе не проблема написать скрипт на том же plsql для сохранение в файл или другом языке. Но ведь должно, как то проще делаться из sqlplus, подозреваю что и пакет есть для этого, просто с этой стороны к ораклу не подходил, исходники из базы не доставал.
22 июл 11, 11:56    [11011557]     Ответить | Цитировать Сообщить модератору
 Re: Как разврапировать пакет?  [new]
MazoHist
Guest
barrabas
Но ведь должно, как то проще делаться из sqlplus, подозреваю что и пакет есть для этого, просто с этой стороны к ораклу не подходил, исходники из базы не доставал.

dbms_metadata.get_ddl
22 июл 11, 12:21    [11011767]     Ответить | Цитировать Сообщить модератору
 Re: Как разврапировать пакет?  [new]
barrabas
Member

Откуда: от махмуда
Сообщений: 10499
MazoHist
barrabas
Но ведь должно, как то проще делаться из sqlplus, подозреваю что и пакет есть для этого, просто с этой стороны к ораклу не подходил, исходники из базы не доставал.

dbms_metadata.get_ddl

спасибо
но проблема у меня, как клоб распечатать в файл из sqlplus?
22 июл 11, 12:35    [11011875]     Ответить | Цитировать Сообщить модератору
 Re: Как разврапировать пакет?  [new]
MazoHist
Guest
вывод clob в sql*plus
22 июл 11, 12:44    [11011958]     Ответить | Цитировать Сообщить модератору
 Re: Как разврапировать пакет?  [new]
barrabas
Member

Откуда: от махмуда
Сообщений: 10499
MazoHist
вывод clob в sql*plus

т.е. без внешней утилиты никак
заголовок переменный у клоба не убирается
22 июл 11, 12:50    [11011998]     Ответить | Цитировать Сообщить модератору
 Re: Как разврапировать пакет?  [new]
barrabas
Member

Откуда: от махмуда
Сообщений: 10499
barrabas
MazoHist
вывод clob в sql*plus

т.е. без внешней утилиты никак
заголовок переменный у клоба не убирается

да и так не подходит спул с клобом, он режет по 32767
в общем прогу по извлечению скриптов нужно делать самому и не мучить старичка sqlplus
22 июл 11, 13:04    [11012105]     Ответить | Цитировать Сообщить модератору
 Re: Как разврапировать пакет?  [new]
Вячеслав Любомудров
Member

Откуда: Владивосток
Сообщений: 18251
Может таки поxитать доку по SQL*Plus?
Всякие там pagesize linesize trimspool и т.д.
25 июл 11, 03:14    [11020712]     Ответить | Цитировать Сообщить модератору
 Re: Как разврапировать пакет?  [new]
barrabas
Member

Откуда: от махмуда
Сообщений: 10499
Вячеслав Любомудров
Может таки поxитать доку по SQL*Plus?
Всякие там pagesize linesize trimspool и т.д.

Both LINESIZE and LONGCHUNKSIZE in SQL*Plus is limited to 32767 (32K - 1)
один фиг он нарежет по 32767 и эти символы разрыва нужно будет вычищать из файла
25 июл 11, 10:02    [11021158]     Ответить | Цитировать Сообщить модератору
 Re: Как разврапировать пакет?  [new]
Вячеслав Любомудров
Member

Откуда: Владивосток
Сообщений: 18251
У тебя много пакетов с более чем 30 тысячами строк врапленного текста?
По моему, это перебор
25 июл 11, 10:06    [11021184]     Ответить | Цитировать Сообщить модератору
 Re: Как разврапировать пакет?  [new]
barrabas
Member

Откуда: от махмуда
Сообщений: 10499
Вячеслав Любомудров
У тебя много пакетов с более чем 30 тысячами строк врапленного текста?
По моему, это перебор

свои пакеты я храню в сктиптах и смысла их доставать из базы нет вообще
а вот у купленнйо системы есть врапленные пакеты, мне нужно было посмотреть один, и он оказался >100килов, сколько их всего > 32К мне не интересно
25 июл 11, 10:09    [11021202]     Ответить | Цитировать Сообщить модератору
 Re: Как разврапировать пакет?  [new]
wildwind
Member

Откуда: Москва
Сообщений: 1298
barrabas,

С DBA_SOURCE не знакомы?
25 июл 11, 10:45    [11021386]     Ответить | Цитировать Сообщить модератору
 Re: Как разврапировать пакет?  [new]
barrabas
Member

Откуда: от махмуда
Сообщений: 10499
wildwind
barrabas,

С DBA_SOURCE не знакомы?

знакомы
ты почитал всю историю вопроса?
25 июл 11, 11:23    [11021643]     Ответить | Цитировать Сообщить модератору
 Re: Как разврапировать пакет?  [new]
barrabas
Member

Откуда: от махмуда
Сообщений: 10499
wildwind
barrabas,

С DBA_SOURCE не знакомы?

вопрос не в том где взять скрипты, а как извлечь из в неиспорченном виде, если скрипт > 32К
25 июл 11, 11:26    [11021655]     Ответить | Цитировать Сообщить модератору
 Re: Как разврапировать пакет?  [new]
barrabas
Member

Откуда: от махмуда
Сообщений: 10499
barrabas
wildwind
barrabas,

С DBA_SOURCE не знакомы?

вопрос не в том где взять скрипты, а как извлечь из в неиспорченном виде, если скрипт > 32К

а при спуне напрямую из вьюхи DBA_SOURCE (и других), симпол переноса строки вставляется и того чаще, было решение и записыванием в клоб, но спун клоба в плюсе кривой донельзя (режет по 32К и нельзя убрать "шапку" с именем переменной. Т.е. придется после такого вытаскивания другой плогой исправлять косяки, тпк лучше сразу написать прогу для выгрузки сорсов
25 июл 11, 11:33    [11021711]     Ответить | Цитировать Сообщить модератору
 Re: Как разврапировать пакет?  [new]
wildwind
Member

Откуда: Москва
Сообщений: 1298
barrabas
ты почитал всю историю вопроса?
Не всю, признаю :)

Предполагая, что CLOB, полученный от dbms_metadata, валидный, есть 1001 способ донести его содержимое неизменным до клиента. Таблица, dbms_output, вывод в hex кодах, ...

Я все же ставлю на комбинацию chr(13)/chr(10) — 95%. 5% — защитный хак, вызывающий уважение.

P.S. А ломать таки нехорошо...
25 июл 11, 11:42    [11021797]     Ответить | Цитировать Сообщить модератору
 Re: Как разврапировать пакет?  [new]
barrabas
Member

Откуда: от махмуда
Сообщений: 10499
wildwind
barrabas
ты почитал всю историю вопроса?
Не всю, признаю :)

Предполагая, что CLOB, полученный от dbms_metadata, валидный, есть 1001 способ донести его содержимое неизменным до клиента. Таблица, dbms_output, вывод в hex кодах, ...

Я все же ставлю на комбинацию chr(13)/chr(10) — 95%. 5% — защитный хак, вызывающий уважение.

P.S. А ломать таки нехорошо...

можно поподробнее как вывести из сиквелплюса в файл большой (32К) заврапленный пакет, чтобы не нужна была дальнейшая
обработка, по удалению скажем лишних байтов?

Да я уже разврапил, не получалось изза того что сиквел вставлял переносы строки.

я не ломаю, я интегрирую несколько систем , чтобы по максимуму использовать внутренние API, нужно изучить код, в том числе и код защиты системы.
25 июл 11, 12:52    [11022392]     Ответить | Цитировать Сообщить модератору
 Re: Как разврапировать пакет?  [new]
wildwind
Member

Откуда: Москва
Сообщений: 1298
barrabas
можно поподробнее как вывести из сиквелплюса в файл большой (32К) заврапленный пакет, чтобы не нужна была дальнейшая обработка, по удалению скажем лишних байтов?
Какой из предложенных способов вам непонятен?

barrabas
я не ломаю, я интегрирую
Да-да, это хорошо видно даже по врапленному коду. :) Это вопрос не терминологии, но бизнес-этики.
25 июл 11, 13:30    [11022685]     Ответить | Цитировать Сообщить модератору
 Re: Как разврапировать пакет?  [new]
barrabas
Member

Откуда: от махмуда
Сообщений: 10499
wildwind
barrabas
можно поподробнее как вывести из сиквелплюса в файл большой (32К) заврапленный пакет, чтобы не нужна была дальнейшая обработка, по удалению скажем лишних байтов?
Какой из предложенных способов вам непонятен?

barrabas
я не ломаю, я интегрирую
Да-да, это хорошо видно даже по врапленному коду. :) Это вопрос не терминологии, но бизнес-этики.

ну скажем dbms_output, т.к. таблицу в чужой базен системе создавать не хочется, ради извлечения пакета

:), ну так я и говорю нужно изучить прежде чем использовать, я смотрю что этот пакет используется в нужных мне.
дело де столько в бизнес этики, сколько в потребности бизнеса (есть купленная система, но она позволяет заводить данные только через UI, а мне нужно сделать компексную вставку данных в 4ре системы, чтобы пользователь не открывал каждую и не вбивал одно и тоже.
25 июл 11, 14:13    [11023020]     Ответить | Цитировать Сообщить модератору
 Re: Как разврапировать пакет?  [new]
barrabas
Member

Откуда: от махмуда
Сообщений: 10499
wildwind
barrabas
можно поподробнее как вывести из сиквелплюса в файл большой (32К) заврапленный пакет, чтобы не нужна была дальнейшая обработка, по удалению скажем лишних байтов?
Какой из предложенных способов вам непонятен?

barrabas
я не ломаю, я интегрирую
Да-да, это хорошо видно даже по врапленному коду. :) Это вопрос не терминологии, но бизнес-этики.

понятно, типа искать самому в клобе символы переноса строки (которые реально нужны) и распечатывать блоками.
25 июл 11, 14:28    [11023130]     Ответить | Цитировать Сообщить модератору
 Re: Как разврапировать пакет?  [new]
wildwind
Member

Откуда: Москва
Сообщений: 1298
[quot barrabas]
wildwind
ну скажем dbms_output, т.к. таблицу в чужой базен системе создавать не хочется
Кстати, и то и другое можно заменить табличной функцией, если ее создать проще.
25 июл 11, 20:17    [11025243]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 .. 3 4 5 6 7 8 9 [10] 11 12   вперед  Ctrl      все
Все форумы / Oracle Ответить