|
запись потока в blob (Oracle)
|
|||
---|---|---|---|
#18+
есть задача сохранить файл в blob-поле (База Oracle). делаю примерно так. взято с форума: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
собственно все хорошо. но когда размер файла становиться больше (300-500мб) (не будем затрагивать в рамках данного топика вопрос целесообразности такого хранения), то все тоже работает но возникает проблема, все 500мб считываются в память, что есть нехорошо. для mssql - видел примеры где blob загружается прямо из потока., например из файла, без промежуточного хранения в памяти, как сделать аналогичное для Oracle. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.08.2012, 09:18 |
|
запись потока в blob (Oracle)
|
|||
---|---|---|---|
#18+
примерно так (под рукой кода нет, пишу по памяти) Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18.
действия по выполнению запроса и последующей записи в блоб должны быть в рамках одной транзакции. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.08.2012, 12:13 |
|
запись потока в blob (Oracle)
|
|||
---|---|---|---|
#18+
OracleLob tempLob = (OracleLob)cmd.Parameters[0].Value; тут ругается так как cmd.Parameters[0].Value - тип byte[] ... |
|||
:
Нравится:
Не нравится:
|
|||
22.08.2012, 22:05 |
|
запись потока в blob (Oracle)
|
|||
---|---|---|---|
#18+
так ничего и не получатся. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.08.2012, 22:55 |
|
|
start [/forum/topic.php?fid=20&msg=37926010&tid=1403049]: |
0ms |
get settings: |
7ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
39ms |
get topic data: |
14ms |
get forum data: |
2ms |
get page messages: |
50ms |
get tp. blocked users: |
2ms |
others: | 13ms |
total: | 145ms |
0 / 0 |