|
|
|
Пошевелим извилинами?
|
|||
|---|---|---|---|
|
#18+
Описываю проблему, может кто знает что надо сделать: Выполняю операторы последовательно в sql+ или PLSQL Developer в Command Window alter type test1 add attribute newattr_1 number cascade; alter type test1 add attribute newattr_2 number cascade; .... alter type test1 add attribute newattr_n number cascade; Все выполняется нормально. Пытаюсь то же самое(другие названия атрибутов естественно), но формируя запрос динамически, например execute immediate 'alter type test1 add attribute newattr_30 number cascade'; execute immediate 'alter type test1 add attribute newattr_31 number cascade'; .... execute immediate 'alter type test1 add attribute newattr_m number cascade'; Первый запрос выполняется без проблем (newattr_30). Второй(newattr_31) выскакивает с ошибками 22324, 22328, 00600. Последущий запуск второго запроса выдает ошибку 03113. Если после этого выполнить 3-й раз второй запрос, то он выполниться нормально. Я так понимаю, каждый последующий запрос с помощью execute immediate каким-то образом конфликтует с первым, а из-за чего конкретно незнаю. Какие будут предложения? С уважением Sh_Ura. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.04.2003, 19:29 |
|
||
|
Пошевелим извилинами?
|
|||
|---|---|---|---|
|
#18+
Для execute immediate и для непосредственного выполнения alter Oracle использует разные алгоритмы расчета hash-ключей. - Для execute immediate - это hash-ключ в library cache (т.к. текст alter - это переменная) - для выполнения alter - это hash-ключ в Sql-area непосредственно далее я не полностью уверен в предположении: для расчета hash-ключа в library cache в library cache используются первые 30 байт текста для расчета hash-ключа в Sql-area - весь текст это может быть потенциальной проблемой Кстати - это Oracle 8i или 9i? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.04.2003, 20:17 |
|
||
|
Пошевелим извилинами?
|
|||
|---|---|---|---|
|
#18+
Oracle 9.2.0.3 каким образом можно попытаться решить проблему - изменить некоторые параметры для hash или пакета DBMS_SQL и т.п., а то не совсем понятно что делать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.04.2003, 20:36 |
|
||
|
Пошевелим извилинами?
|
|||
|---|---|---|---|
|
#18+
Можно проверить предположение следующим образом: 1) execute immediate 'alter type test1 add attribute newattr_30 number cascade'; после этого: 2) execute immediate 'ALTER TYPE TEST ... number cascade'; т.е. сменить регистр. Но с type - объектами часто возникают подобные проблемы. Надо кроме того проверить список багов для версии. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.04.2003, 20:50 |
|
||
|
Пошевелим извилинами?
|
|||
|---|---|---|---|
|
#18+
Попробовал сменить регистр - проблема осталась Точно помогает сессию закрыть и снова открыть - в принципе ошибка 03113 и есть сообщение о том что нет связи с Oracle (хотя на самом деле связь остается). Может что то с параметрами сессии сделать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.04.2003, 20:57 |
|
||
|
Пошевелим извилинами?
|
|||
|---|---|---|---|
|
#18+
а может есть операторы с помощью которых можно сделать реконнект не описывая заново имя пользователя и пароль? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.04.2003, 21:10 |
|
||
|
Пошевелим извилинами?
|
|||
|---|---|---|---|
|
#18+
Я немного разобрался в этом вопросе - основная проблема заключается в потомках объекта, когда у типа нет потомков, то нет и проблем. Отсюда и возникает следующий вопрос : Каким образом отключить на время потомка? В доке по 8.1.7 ничего нет по этому поводу. Принимаются любые идей (с перекомпиляцией объектов, с запрещением объектов и т.п.) С уважением Sh_Ura ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.04.2003, 12:12 |
|
||
|
Пошевелим извилинами?
|
|||
|---|---|---|---|
|
#18+
A child objects nado sozdavat' s opziei dobavleniya ( sozdavat' ix 'nezakonchennymi ') ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.04.2003, 12:17 |
|
||
|
Пошевелим извилинами?
|
|||
|---|---|---|---|
|
#18+
Да, все объекты создаються с опцией not final ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.04.2003, 12:29 |
|
||
|
Пошевелим извилинами?
|
|||
|---|---|---|---|
|
#18+
Poprobyi s REUSE SETTINGS clause & AUTHID CURRENT_USER clause ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.04.2003, 12:45 |
|
||
|
|

start [/forum/topic.php?fid=52&fpage=2783&tid=1990749]: |
0ms |
get settings: |
9ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
46ms |
get topic data: |
6ms |
get forum data: |
2ms |
get page messages: |
25ms |
get tp. blocked users: |
1ms |
| others: | 270ms |
| total: | 372ms |

| 0 / 0 |
