Название: Как создать виртуальный файл? Отправлено: lit-uriy от Июль 14, 2017, 12:03 Некоторые программы (например, САПР), хранят свои данные в виде файлов, да ещё и блокируют доступ к ним, когда файл в программе открыт.
Конечная цель: чтобы данные хранились в БД и работа шла именно с БД (можно через промежуточное приложение), а не с файлами. Идея: сделать какую-то штуку, чтобы программа думала, что работает с файлом, а на деле это некий "тунель" к другой программе, которая уже работает с БД. Как подобное может быть устроено? Может нужно создать некую виртуальную ФС? Программы считаем неизменяемыми. Название: Re: Как создать виртуальный файл? Отправлено: qate от Июль 14, 2017, 15:41 а зачем файлы хранить в бд? это может быть не оптимально https://wiki.postgresql.org/wiki/BinaryFilesInDB
Название: Re: Как создать виртуальный файл? Отправлено: lit-uriy от Июль 19, 2017, 10:59 а мне и не нужно хранить файлы в БД, я про это и не упоминал
Название: Re: Как создать виртуальный файл? Отправлено: Igors от Июль 19, 2017, 11:22 а мне и не нужно хранить файлы в БД, я про это и не упоминал Ну как жеКонечная цель: чтобы данные хранились в БД и работа шла именно с БД Или это просто "для примера"? Ладно, ну с читающим все понятно - наследоваться от QIODevice и все дела. Но дальше все зависит от того какой "туннель" планируете, где и что хранить и.т.д. Здесь все "по задаче", напр если данные в др приложении то может шаред мемори или хваленые пайпы Название: Re: Как создать виртуальный файл? Отправлено: Alex Custov от Июль 20, 2017, 03:29 Не кроссплатформенно: FUSE. Написать всё придётся самому, то есть весь промежуточный интерфейс БД <-> файлы
Название: Re: Как создать виртуальный файл? Отправлено: lit-uriy от Июль 20, 2017, 14:14 а мне и не нужно хранить файлы в БД, я про это и не упоминал Ну как жеКонечная цель: чтобы данные хранились в БД и работа шла именно с БД Или это просто "для примера"?... какой "туннель" планируете ... ни какой не планирую, а именно спрашиваю:Как подобное может быть устроено? Может нужно создать некую виртуальную ФС? Название: Re: Как создать виртуальный файл? Отправлено: lit-uriy от Июль 20, 2017, 14:20 Не кроссплатформенно: FUSE. Написать всё придётся самому, то есть весь промежуточный интерфейс БД <-> файлы Алекс, вот это уже что-то близкое, но винда (никуда от неё не денешься) на первом месте.Я как-то сталкивался с Компас 3D, ломаным, он был сделан кем-то и как-то на основе VMWare - запускается один единственный екзкшник, из запущенного открываешь нужные файлы. НО интересно, что из этого Компаса файловая система выглядит иначе (в диалогах "Открыть/сохранить"), в ней ещё какой-то диск видно, в котором папка "Program Files", а в ней "Компас", хотя на деле этого диска в системе нет. Это воспоминание меня и натолкнуло на мысль, что можно каким-то образом обмануть программу, чтобы она думала, что работает с файлом. |