|
Вернуть массив sys.ODCIObjectList по dblink. Можно?
|
|||
---|---|---|---|
#18+
Есть процедура в одной базе: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9.
Есть ее вызов по dblink в другой Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
Без DBLINK процедура прекрасно работает. Массив результатов выводится, а вот при запуске с другой базы - получаю Код: plsql 1. 2. 3. 4.
Если убрать v_results из процедуры (не передавать в OUT параметре) процедура тоже прекрасно отрабатывает и по dblink То есть проблема именно в этом параметре. Варианты, что я чтото не туда комплилирую я исключил. Похоже удаленная база почему то не хочет понимать такой параметр - массив Это ограничение оракла? Или я чтото не так сделал? v12 ... |
|||
:
Нравится:
Не нравится:
|
|||
11.12.2021, 12:40 |
|
Вернуть массив sys.ODCIObjectList по dblink. Можно?
|
|||
---|---|---|---|
#18+
stil Это ограничение оракла? Или я что то не так сделал? Restriction on Using User-Defined Types with a Remote Database User-defined types (specifically, types declared with a SQL CREATE TYPE statement, as opposed to types declared within a PL/SQL package) are currently useful only within a single database. You cannot use a database link to do any of the following*: Connect to a remote database to query, insert, or update a user-defined type or an object REF on a remote table Use database links within PL/SQL code to declare a local variable of a remote user-defined type Convey a user-defined type argument or return value in a PL/SQL remote procedure call. SY. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.12.2021, 16:05 |
|
Вернуть массив sys.ODCIObjectList по dblink. Можно?
|
|||
---|---|---|---|
#18+
SY, Чегото я запутался. Как сделать в процедуре cleanup заполнение переменной коллекционного типа, а с вызывающей стороны ее прочитать по dblink? Не передавая в параметрах? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.12.2021, 09:38 |
|
Вернуть массив sys.ODCIObjectList по dblink. Можно?
|
|||
---|---|---|---|
#18+
stil а с вызывающей стороны ее прочитать по dblink? Не передавая в параметрах? Только через ж... с использованием типов с одинаковым OID, двух таблиц (local и remote) и двух db links (db1 --> db2 и db2 --> db1) SY. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.12.2021, 15:48 |
|
Вернуть массив sys.ODCIObjectList по dblink. Можно?
|
|||
---|---|---|---|
#18+
SY, Похоже проще не заморачиваться коллекцией, а просто передать длинную строку в варчаре с разделителями ... |
|||
:
Нравится:
Не нравится:
|
|||
12.12.2021, 17:07 |
|
Вернуть массив sys.ODCIObjectList по dblink. Можно?
|
|||
---|---|---|---|
#18+
stil Код: plsql 1. 2. 3. 4. 5. 6.
... |
|||
:
Нравится:
Не нравится:
|
|||
12.12.2021, 19:29 |
|
Вернуть массив sys.ODCIObjectList по dblink. Можно?
|
|||
---|---|---|---|
#18+
Elic stil Код: plsql 1. 2. 3. 4. 5. 6.
Ну мне не обязательно притягивать чтото за уши. Просто надо вернуть список почищеных сейций таблицы, секционированной по дате с результатом по каждой Но стационарные типы сделать нет возможности. Поэтому попытался прикрутить sys.ODCIObjectList (раньше его не использовал). Понятно что он не для этого, но вроде многие используют в качестве двумерного массива (в интернетах попадаются примеры) Можно попытаться сделать хеш INDEX BY DATE. Попробую сейчас Но в идеале конечно и трехмерную бы конструкцию - чтобы например еще передать кол-во строк (ну и ждля понимания что можно, а что нельзя) ... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2021, 09:36 |
|
Вернуть массив sys.ODCIObjectList по dblink. Можно?
|
|||
---|---|---|---|
#18+
stil Ну мне не обязательно притягивать чтото за уши. stil Можно попытаться сделать хеш INDEX BY DATE. Попробую сейчас ... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2021, 18:54 |
|
|
start [/forum/topic.php?fid=52&msg=40119427&tid=1879690]: |
0ms |
get settings: |
17ms |
get forum list: |
5ms |
check forum access: |
1ms |
check topic access: |
1ms |
track hit: |
35ms |
get topic data: |
3ms |
get forum data: |
1ms |
get page messages: |
162ms |
get tp. blocked users: |
0ms |
others: | 373ms |
total: | 598ms |
0 / 0 |