Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Как подключить бд к Javascript без сервера (https://javascript.ru/forum/misc/85151-kak-podklyuchit-bd-k-javascript-bez-servera.html)

Kopern1ck 22.04.2023 12:11

Как подключить бд к Javascript без сервера
 
Необходимо сделать простое управление базой данных (добавление/удаление/изменение записей таблиц) на языке JS без использования Node и других серверных решений. Управление должно работать напрямую от файла html до бд.
База данных может находиться где угодно(онлайн/файл на пк), быть в любом виде, главное чтобы ее можно было открыть отдельно и в другой программе или сайте - создавать/редактировать таблицы.

Объясню проще, по заданию нужно сделать бд и программку в которой в удобном интерфейсе можно будет управлять бд, НО проблема в том что программка и бд открываются на ВУЗовском пк, на который нельзя ничего установить, программа должна работать с файла на любом компьютере, то есть нельзя установить приложение сервера типа Node

Во время выполнения столкнулся с тем что популярные БД нельзя связать без сервера, а так как js не может изменять файлы пк напрямую то реализовать это как в других языках нельзя. Видел решения создания собственных серверов, но не знаю как реализовать сервер работающий с БД.

Этот проект нигде не выкладывается а работает локально на пк с файла, поэтому все меры по работе с безопасностью соединения не нужны.

Понимаю что использовав C# или Python можно бы было сделать это очень легко но задание именно для js.

Nexus 22.04.2023 14:28

А IndexedDB не подойдет?

Kopern1ck 22.04.2023 14:44

Я рассматривал IndexedDB, но так как это встроенная БД и если я правильно понимаю ее нельзя открыть в отдельном интерфейсе или приложении

Aetae 22.04.2023 15:18

Цитата:

аботает локально на пк с файла, поэтому все меры по работе с безопасностью соединения не нужны.
Это ты жестоко ошибаешься. Сейчас во всех браузрах для локального файла ограничений ещё больше чем для онлайн файла.

В любом случае js из браузера не может работать с локальным файлом(втч файлом базы) напрямую ровно никак. Он может только открыть его по пользовательскому выбору, загрузить в память, что-то с ним сделать, и сохранить в новый файл, опять же по пользовательскому действию.

Твой html файл же как-то попадёт на компьютер учебный, точно также туда попадёт и нормальный exe'шник нормальной программы.

Если требование именно js вижу только три варианта:
1. electron - который по сути хром+нода запакованные в одно приложение. Это всё равно будет exe и куча либ, но код будет на js.
2. использовать встроенные в винду jscript, hta и т.д., древние эзотерические технологоии.
3. открывать файл "базы" и сохранять его руками, как упомянуто выше.

Kopern1ck 22.04.2023 15:57

Цитата:

для локального файла ограничений ещё больше чем для онлайн файла
Я это понимаю и про меры безопасности говорил, дабы не слушать про то как важен сервер при работе с бд.

Цитата:

js из браузера не может работать с локальным файлом напрямую
Собственно в этом и была моя основная проблема, из-за которой не получается реализовать задачу двумя файлами.

Спасибо за советы, постараюсь реализовать, electron не подойдет из-за установки node, попробую другими способами

MallSerg 22.04.2023 22:42

Цитата:

electron не подойдет из-за установки node,
Какой установки node? проект на electron обычно запаковывается с самораспаковывающийся во временную директорию exe.
т.е. по сути на выхлопе один монолитный exe который не требует что либо устанавливать.


Часовой пояс GMT +3, время: 00:25.