|
|
|
Объектные типы Oracle
|
|||
|---|---|---|---|
|
#18+
Можно ли получить курсор (на клиенте разуется) таблицы или как результат ХП, где поле - вложенная таблица. и передавать объетные типы как параметр в процедуру? Чегото поиском не нашел ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2007, 12:08 |
|
||
|
Объектные типы Oracle
|
|||
|---|---|---|---|
|
#18+
Можно передавать и получить коллекции. Предостережение: подумайете 3 раза, прежде чем будете это делать. Из личного опыта - выглядит очень красиво, но гемора потом не оберешься: все insert, update, select придется делать или через хранимые процедуры, или с помощью приведения CAST в запросе, но после такого приведения CommandBuilder не сможет автоматом создать команды insert, update, delete. Так что не советую заморачиваться с nested tabes, а хранить все в отдельной таблице и создавать связи в C#. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2007, 17:59 |
|
||
|
Объектные типы Oracle
|
|||
|---|---|---|---|
|
#18+
ну и просто объектные типы передавать нельзя. Когда-то в бете ODP эта возможность кажись была, но потом ее убрали. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2007, 18:00 |
|
||
|
Объектные типы Oracle
|
|||
|---|---|---|---|
|
#18+
insert / update через forall происходят быстрее чем отдельный insert/update на каждую запись, что делает систему более маштабируемой. про вложенные таблицы спрашивал для интереса , есть плюсы и минусы в их применении, но таких таблиц у меня нету. Посоветовали компаненты odac вроде говорят оно там есть, еще не смотрел. А нафига давать CommandBuilder создавать запросы, нужно ХП на серваке делать и их вызывать с нужными параметрами, а так каждый запрос будет еще и подвергать разбору, что тоже снижает производительность. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2007, 22:01 |
|
||
|
Объектные типы Oracle
|
|||
|---|---|---|---|
|
#18+
Когда у тебя штук 100 таблиц, то задолбаешься ХП писать. А во время разработки (да и после внедрения) они имеют свойство иногда меняться. Так что CommandBuilder - вещь очень удобная. По поводу производительности - все запросы идут с bind variables, так что парсинг запроса быдет только при первом вызове. Но это действительно медленней, чем свои запросы писать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.03.2007, 13:18 |
|
||
|
Объектные типы Oracle
|
|||
|---|---|---|---|
|
#18+
krot-sКогда у тебя штук 100 таблиц, то задолбаешься ХП писать. А во время разработки (да и после внедрения) они имеют свойство иногда меняться. Так что CommandBuilder - вещь очень удобная. По поводу производительности - все запросы идут с bind variables, так что парсинг запроса быдет только при первом вызове. Но это действительно медленней, чем свои запросы писать. Ну, 100 таблиц - это оч-ч-чень немного. А подобные процедуры все однотипные, так что пишутся весьма быстро. Я уж не говорю про возможность автоматизации генерации подобных процедур. А вот запросы - написал один раз так, другой - по другому (ну хотя бы один лишний пробел добавил) - вот уже и повторный разбор... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.03.2007, 13:29 |
|
||
|
Объектные типы Oracle
|
|||
|---|---|---|---|
|
#18+
krot-sПо поводу производительности - все запросы идут с bind variables, так что парсинг запроса быдет только при первом вызове. Но это действительно медленней, чем свои запросы писать. при первом вызове, и каждый раз когда его (запрос) вытесянт из памяти более актуальные. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.03.2007, 13:42 |
|
||
|
|

start [/forum/topic.php?fid=17&fpage=97&tid=1352873]: |
0ms |
get settings: |
8ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
24ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
44ms |
get tp. blocked users: |
1ms |
| others: | 204ms |
| total: | 311ms |

| 0 / 0 |
