|
Чтение бинарного файла вызывает ошибку TRANSLATE, как сохранить локальный файл в базе ?
|
|||
---|---|---|---|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20.
Код: plaintext
Я ведь открываю его как stream, свойство MyStream - BinaryStream, при чём тут таблица трансляции??? Кто нибудь знает как загрузить локальный файл в базу? Это вообще возможно в Cache? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.11.2016, 22:00 |
|
Чтение бинарного файла вызывает ошибку TRANSLATE, как сохранить локальный файл в базе ?
|
|||
---|---|---|---|
#18+
u78, А если так? Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20.
... |
|||
:
Нравится:
Не нравится:
|
|||
23.11.2016, 00:21 |
|
Чтение бинарного файла вызывает ошибку TRANSLATE, как сохранить локальный файл в базе ?
|
|||
---|---|---|---|
#18+
u78Кто нибудь знает как загрузить локальный файл в базу? Это вообще возможно в Cache?Используем такой вариант... Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21.
... |
|||
:
Нравится:
Не нравится:
|
|||
23.11.2016, 10:02 |
|
Чтение бинарного файла вызывает ошибку TRANSLATE, как сохранить локальный файл в базе ?
|
|||
---|---|---|---|
#18+
u78Я ведь открываю его как stream, свойство MyStream - BinaryStream, при чём тут таблица трансляции???При том, что Вы его не открываете как поток: "S" (/STREAM) - в данном случае это нечто другое . Правильно так: s ok = FileObj.Open(##class(%FileStreamAdaptor).#OPENREAD) что равносильно s ok = FileObj.Open("RUK\RAW\") Чтобы обезопасить себя от ошибок, лучше - как правильно заметил П.С.М. - использовать соответствующие классы, а не универсальный %File. PS: если Вы возвращаете строку, то строку, если статус - то статус. Смешивать два разных возвращаемых типа в одном методе - ошибка. ClassMethod FillStream( FileName As %String = "C:\InterSystems\Image.jpg") As %String or %Status? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.11.2016, 10:20 |
|
Чтение бинарного файла вызывает ошибку TRANSLATE, как сохранить локальный файл в базе ?
|
|||
---|---|---|---|
#18+
Да, надо юзать %Stream.FileBinary а не %File Спасибо коллеги ... |
|||
:
Нравится:
Не нравится:
|
|||
23.11.2016, 10:53 |
|
Чтение бинарного файла вызывает ошибку TRANSLATE, как сохранить локальный файл в базе ?
|
|||
---|---|---|---|
#18+
krvsaИспользуем такой вариант...Чем он лучше стандартных средств? Код: plaintext 1. 2. 3. 4. 5.
... |
|||
:
Нравится:
Не нравится:
|
|||
23.11.2016, 10:54 |
|
Чтение бинарного файла вызывает ошибку TRANSLATE, как сохранить локальный файл в базе ?
|
|||
---|---|---|---|
#18+
servit, Вы неправы. В оригинальном примере я открываю его именно как поток. Вот документация %Library.File метод Open(): авторmode is a string containing one or more file modes including: R Read W Write S Stream mode N Create a new file (overwrite existing file) насчёт типов возврата вы можете поумничать в отдельном посте, спасибо ... |
|||
:
Нравится:
Не нравится:
|
|||
23.11.2016, 10:58 |
|
Чтение бинарного файла вызывает ошибку TRANSLATE, как сохранить локальный файл в базе ?
|
|||
---|---|---|---|
#18+
servitЧем он лучше стандартных средств? В свое время так же искали вариант "бинарного" чтения файлов... Насоветовали в то время такой вариант. Кто именно насоветовал уже никто не помнит. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.11.2016, 11:27 |
|
Чтение бинарного файла вызывает ошибку TRANSLATE, как сохранить локальный файл в базе ?
|
|||
---|---|---|---|
#18+
u78 , Если файл локальный и/или он довольно большой, то можно хранить в БД не сам файл, а только ссылку на него, например так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21.
... |
|||
:
Нравится:
Не нравится:
|
|||
23.11.2016, 11:35 |
|
Чтение бинарного файла вызывает ошибку TRANSLATE, как сохранить локальный файл в базе ?
|
|||
---|---|---|---|
#18+
servit уже приводил ссылку, что такое S: http://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KEY=GIOD_rmsseqfiles#GIOD_rmsseq_openparamstbl S /STREAM Stream format with carriage return, line feed, or form feed as default terminators. Jobbed processes that inherit TCP devices are automatically set to “S” format. You can reset the format with the USE command. S, V, F, and U modes are mutually exclusive. Stream record format is the default on non-OpenVMS systems. Variable length (V) is the default on OpenVMS systems. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.11.2016, 11:40 |
|
Чтение бинарного файла вызывает ошибку TRANSLATE, как сохранить локальный файл в базе ?
|
|||
---|---|---|---|
#18+
krvsa , То, что это legacy-код - понятно, непонятно зачем его использовать сегодня при наличии готовых средств? Как минимум, в нём можно увеличить размер блока при чтении файла с 200 байт до 32767 или даже 3641144. Точнее можно определить по $zutil(96,39). Это значительно ускорит чтение файла. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.11.2016, 11:46 |
|
Чтение бинарного файла вызывает ошибку TRANSLATE, как сохранить локальный файл в базе ?
|
|||
---|---|---|---|
#18+
servitнепонятно зачем его использовать сегодня при наличии готовых средств? Дело в том, что у нас два "комплекта" "системных" программ, для Каше и для ГТ.М... Меняя комплект получаем ПО для нужной СУБД... "Прикладные" программы работают только через "системные" процедуры и функции... Т.о. нет разницы в какой СУБД импортировали файл, глобал получится как нужно и нужными "порциями". Да и зачем менять что-то, если оно работает и не создает проблем? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.11.2016, 13:26 |
|
Чтение бинарного файла вызывает ошибку TRANSLATE, как сохранить локальный файл в базе ?
|
|||
---|---|---|---|
#18+
u78Вы неправы. В оригинальном примере я открываю его именно как поток. Вот документация %Library.File метод Open():Что такое "stream mode" выше уже процитировал П.С.М.. Этот режим никоим образом не означает, что Вы работаете именно с двоичным потоком. Это легко проверить: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22.
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
Цифры отличаются, поскольку это зависит ещё и от настроек локали: Default I/O Tables У меня это локаль rusw, где для файлов по умолчанию используется таблица UTF8, что для бинарных файлов не подходит от слова совсем. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.11.2016, 13:40 |
|
Чтение бинарного файла вызывает ошибку TRANSLATE, как сохранить локальный файл в базе ?
|
|||
---|---|---|---|
#18+
krvsaДа и зачем менять что-то, если оно работает и не создает проблем?Между хорошим и лучшим существует разница. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.11.2016, 13:48 |
|
Чтение бинарного файла вызывает ошибку TRANSLATE, как сохранить локальный файл в базе ?
|
|||
---|---|---|---|
#18+
servitМежду хорошим и лучшим существует разница. А еще поговаривают, что лучшее - враг хорошего. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.11.2016, 14:33 |
|
Чтение бинарного файла вызывает ошибку TRANSLATE, как сохранить локальный файл в базе ?
|
|||
---|---|---|---|
#18+
krvsaА еще поговаривают, что лучшее - враг хорошего.Без тестирования - безусловно. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.11.2016, 14:36 |
|
Чтение бинарного файла вызывает ошибку TRANSLATE, как сохранить локальный файл в базе ?
|
|||
---|---|---|---|
#18+
servit , у нас есть клиенты со старинными версиями... Т.ч. не все новое и передовое у них вообще есть. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.11.2016, 16:41 |
|
Чтение бинарного файла вызывает ошибку TRANSLATE, как сохранить локальный файл в базе ?
|
|||
---|---|---|---|
#18+
krvsaу нас есть клиенты со старинными версиями... Т.ч. не все новое и передовое у них вообще есть.Если есть %FileBinaryStream, значит должен быть и %GlobalBinaryStream, который есть даже в 5.0.x: Код: plaintext 1. 2. 3.
... |
|||
:
Нравится:
Не нравится:
|
|||
23.11.2016, 18:10 |
|
|
start [/forum/topic.php?fid=39&msg=39352274&tid=1556408]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
46ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
58ms |
get tp. blocked users: |
2ms |
others: | 14ms |
total: | 166ms |
0 / 0 |