|
|
|
Странная штука..
|
|||
|---|---|---|---|
|
#18+
Господа здравствуйте. Имеется такая проблема. Есть таблица с набором полей. Одно из них типа БЛОБ. У пользователя, работающего с программой на эту таблицу есть право только INSERT. Я работаю с Ораклом через ОДБС. Для сохранения данных в поле БЛОБ использую binding механизм. Алгоритм отработан весьма основательно и проверялся проверялся на многих СУБД. В оракле же столкнулся с тем, что обычный INSERT INTO TABLE1(BLOB_FIELD) VALUES(?) (? - служебный символ, указывающий, что далее будет идти последовательная закачка данных) выдает ошибку, что недостаточно привилегий. После грантов пользователю ещё одной привелегии - UPDATE, все становится нормально. Такое ощущение, что драйвер реализован неверно и занесение данных осуществляет не через инсерт, а через апдейт. Но возможно я не прав, т.к. проверял это дело как на Оракле8, так и на Оракле9 (и соотв. различных ОДБС драйверах под них) Кто - нибудь может что-то подсказать? Это где-то задокументировано? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2003, 10:43 |
|
||
|
Странная штука..
|
|||
|---|---|---|---|
|
#18+
Eto sovershenno verno. Zanesenie dannih v BLOB idet cherez UPDATE. soglasno trebovaniym po rabote s BLOB polyamy v komande INSERT my dolgny ispolzovat standartnuyu funkciyu EMPTY_BLOB() - kotoraya sozdaet objekt-locator na sobstvenno BLOB dannie i dalee po UPDATE, ispolzuya etot locator dannie zalivautsya v pole. i imenno etot mehanizm realizovan na urovne ODBC, t.e : 1) insert EMPTY_BLOB() 2) update by ROWID ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2003, 18:57 |
|
||
|
|

start [/forum/topic.php?fid=52&msg=32120491&tid=1991482]: |
0ms |
get settings: |
7ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
154ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
38ms |
get tp. blocked users: |
1ms |
| others: | 284ms |
| total: | 507ms |

| 0 / 0 |
