|
|
|
SQL*Plus save/restore column settings
|
|||
|---|---|---|---|
|
#18+
Проблематика такая: есть определенное кол-во скриптов, которые что-то устанавливают из настроек SQL*Plus, меняют. Я исторически использую доработанные save/restore sqlplus_settings от Steve Adams. Но сейчас хочу пойти дальше и сохранять еще настройки колонок, чтобы восстанавливать их установки в изначальное состояние после запусков скриптов из моих библиотек. Собственно, я уже набросал 2 скрипта: 1. save (my_cpid - идентификатор клиентского процесса, awk/mv - у меня одна платформа и один рабочий каталог) Код: plsql 1. 2. 3. 4. 5. 6. 7. 2. restore Код: plsql 1. 2. Хочется еще посмотреть, что комьюнити в этой связи сделало, возможно, я что-то упустил из виду. Делал кто что подобное? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.01.2017, 05:58 |
|
||
|
SQL*Plus save/restore column settings
|
|||
|---|---|---|---|
|
#18+
SeaGateвозможно, я что-то упустил из виду.Настройки спулинга :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.01.2017, 07:28 |
|
||
|
SQL*Plus save/restore column settings
|
|||
|---|---|---|---|
|
#18+
Elic, Спасибо :) не учел spool. Пока я остановился на вот таком варианте: save: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. Собственно, тут я предпринимаю попытку достать spool file следующим образом: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. restore: Код: plsql 1. 2. 3. 4. 5. В моих сценариях возможны следующие комбинации spool-ов: №spool выполняется в сессии SQL*Plusspool выполняется в вызываемом скрипте1нетда2нетнет3дада4данет Большей уровни вложенности spool-ов я не использую. Варианты 1-2 можно не рассматривать, т.к. в этом случае spool в скрипте сохранения columns не вызывает сторонних эффектов по spool-у. В варианте 3 я, не зависимо от своего скрипта сохранения колонок с его spool-ом, всегда получаю обрезанный spool верхнего уровня. Обрежется он в скрипте сохранения колонок или дальше, мне не важно. Вариант 4 я проверил на ряде своих скриптов и модельных. Результат удовлетворительный. Скрипт верхнего уровня, эмулирующий сессию SQL*Plus: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. nested_wo_spool_nosavecol.sql: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. nested_wo_spool_savecol.sql Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. Последние команды мастер-скрипта без сохранения колонок (видим, что формат колонки был перезаписан во вложенном скрипте): Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. С сохранением (видим сохранившийся format колонки из скрипта верхнего уровня, spool без единого разрыва): Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. Пока не вижу, что-то кардинально проще такому решению. Возможно, в sqlcl с его возможностью написания скриптов на Java Script это проще, но пост не про него. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2017, 11:48 |
|
||
|
|

start [/forum/topic.php?fid=52&fpage=180&tid=1886606]: |
0ms |
get settings: |
7ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
63ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
37ms |
get tp. blocked users: |
1ms |
| others: | 238ms |
| total: | 379ms |

| 0 / 0 |
