|
Сервисная база данных
|
|||
---|---|---|---|
#18+
В общем, такой полуфиласофский вопрос. Хочется под настройки, метаданные и всё, что не связано с данными, хранить в отдельной базе. Вопрос в том, что выбрать? От базы хочется: - минимальные приседания для установки и переноса базы с места на место, наката патчей и т.п. - наличие удобных инструментов для управления Пока вижу два варианта: 1. текстовый файл, через ado. Но подозреваю, тут всё будет не очень удобно. 2. sqlite. Но надо что-то себе в код встраивать. с обоими вариантами никогда не работал. может ещё что-то? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.01.2016, 08:18 |
|
Сервисная база данных
|
|||
---|---|---|---|
#18+
Еще можно XML, JSON, INI. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.01.2016, 08:25 |
|
Сервисная база данных
|
|||
---|---|---|---|
#18+
Dima T, xml как xml, или какой-то провайдер может с ним работать как с базой? я думал про просто xml+boost, то хотелось бы работать с этим хранилищем именно через sql. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.01.2016, 09:13 |
|
Сервисная база данных
|
|||
---|---|---|---|
#18+
3. MS Sql? Только к нему нужен манагер. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.01.2016, 09:54 |
|
Сервисная база данных
|
|||
---|---|---|---|
#18+
2. sqlite. слишком дофига потенциальных языков и сред использования, оно всё, конечно, есть, но по несколько раз встраивать в разные среды не хочется. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.01.2016, 10:09 |
|
Сервисная база данных
|
|||
---|---|---|---|
#18+
Ты бы немного поподробнее описал что за метаданные хранить собираешься и какой у них объем. У меня для настроек используются INI. Есть WinAPI заточенное на быстрое чтение. Этих настроек обычно немного: пара десятков строк. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.01.2016, 10:09 |
|
Сервисная база данных
|
|||
---|---|---|---|
#18+
CEMb, sqlite хотя json тоже очень хорошо было бы. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.01.2016, 10:16 |
|
Сервисная база данных
|
|||
---|---|---|---|
#18+
CEMb, Еще есть boost;::program-options или что-то в этом роде, там кажется можно тоже в файл записать опции как параметры, и оно это Парсит ... |
|||
:
Нравится:
Не нравится:
|
|||
25.01.2016, 10:20 |
|
Сервисная база данных
|
|||
---|---|---|---|
#18+
Думал насоветовать MSXML, но то что удобно в С#, в С++ очень тяжело пишется ( https://msdn.microsoft.com/en-us/library/ms767609(v=vs.85).aspx Есть еще такой пример из dlib http://dlib.net/config_reader_ex.cpp.html ... |
|||
:
Нравится:
Не нравится:
|
|||
25.01.2016, 11:00 |
|
Сервисная база данных
|
|||
---|---|---|---|
#18+
[quot]Ты бы немного поподробнее описал что за метаданные хранить собираешься и какой у них объем. [quot] Ну, например, названия колонок таблиц. В виде таблицы: id_таблицы, номер_колонки, название, свойства, скрипт, ... Или настройки соединений, в виде таблицы: название, строка_коннекта, логин, пароль, свойства, скрипт, скрипт, скрипт, ... пока остановился на текстовых файлах, потому что: 1. не требует лишних инсталляций 2. легко переносимо, даже частями, что может быть полезно минусы: 1. редактирование, к примеру, если это csv, то запятую не поиспользуешь ... |
|||
:
Нравится:
Не нравится:
|
|||
25.01.2016, 11:29 |
|
Сервисная база данных
|
|||
---|---|---|---|
#18+
CEMb, можно их вообще скриптом писать (LUA очень маленький) ... |
|||
:
Нравится:
Не нравится:
|
|||
25.01.2016, 11:33 |
|
Сервисная база данных
|
|||
---|---|---|---|
#18+
kealon(Ruslan), таблицы? а как lua интегрируется в с++ проекты? Давно хотел его погонять, всё не было случая... ... |
|||
:
Нравится:
Не нравится:
|
|||
25.01.2016, 11:42 |
|
Сервисная база данных
|
|||
---|---|---|---|
#18+
CEMbkealon(Ruslan), таблицы? а как lua интегрируется в с++ проекты? Давно хотел его погонять, всё не было случая... да просто там всё, на оффсайте есть вся инфа, функции просто свои к движку добавляешь движок можно и слинковать и отдельной dll-кой А по таблицам надо просто через свои функции описать их создание-валидацию. Если я правильно понимаю у тебя фактически метаинформация по ним, а не сами таблицы. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.01.2016, 13:03 |
|
Сервисная база данных
|
|||
---|---|---|---|
#18+
CEMb, пример на паскале, повыдёргивал из рабочего проекта, но на C, C++ будет тоже самое Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42.
... |
|||
:
Нравится:
Не нравится:
|
|||
25.01.2016, 13:12 |
|
Сервисная база данных
|
|||
---|---|---|---|
#18+
CEMbНу, например, названия колонок таблиц. В виде таблицы: id_таблицы, номер_колонки, название, свойства, скрипт, ... Зачем свое хранилище под это? Таблицы ведь где-то в СУБД? Пиши скрипт сразу на языке СУБД: Код: sql 1. 2. 3.
и запускай его при необходимости. Например при смене версии клиентского EXE. Например при старте запросил версию из базы, сравнил с версией ЕХЕ, несовпало - запустил скрипт, сохранил версию в базу. ИМХУ нет смысла структуру базы полностью дублировать в метаданные. У тебя юзеры руками в базе ковыряются и структуру таблиц меняют? Сомневаюсь. Возьми за правило все изменения структуры делать этим скриптом, в т.ч. при разработке, тогда при необходимости что-то изменить в структуре просто дописал что надо изменить в конец скрипта и все. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.01.2016, 13:44 |
|
Сервисная база данных
|
|||
---|---|---|---|
#18+
CEMbНу, например, названия колонок таблиц. В виде таблицы: id_таблицы, номер_колонки, название, свойства, скрипт, ... Вообще-то они уже и так хранятся в самой БД. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
25.01.2016, 13:48 |
|
Сервисная база данных
|
|||
---|---|---|---|
#18+
Dima T, я не могу так лезть в базу данных, там всё строго регламентировано, свои инструменты и "DBA inside" :) Юзеры посредством админского софта там ковыряются и могут менять структуру таблиц. Это происходит редко, но происходит. Структура БД у меня не копируется, а перекрывается и дополняется. Dimitry Sibiryakov, там специальные названия для колонок, их менять нельзя, они используются кодом базы данных и кодом прикладного софта(там даже на самом деле сложные views используются, которые генерятся самой БД с учётом разных факторов, ни у кого нет прямого доступа к таблицам). В самой базе данных есть метаданные по колонкам, названия, свойства для использования в прикладном софте. Мне туда нельзя. Моя задумка: сделать стороннюю надстройку для себя. У меня появились задачи, которые существующий софт не решает. Свой код я напишу быстро, но чтобы всё отображалось красиво, нужны настройки для отображения. Их будет много, их лучше хранить в базе, в сторонней, иначе админы меня убьют, если что-то левое обнаружат. Т.е. вопрос лезть или не лезть в основную базу, не стоИт :) Сами архитекторы давно мечтают вынести всю метаинформацию в отдельную базу данных, что позволит делать накаты, не затрагивая саму базу, а так же легко переносит базу с данными без учёта, какая версия прикладного софта сейчас установлена, и т.д. Т.е. по нормальному, отделить код и описание от самих данных. Но это стоит больших денег, никто на это просто так не согласится. А я для себя персонально могу. У меня пока отдельные запросы и отображение данных, просто хочется красоты и больше функционала, и всё это сериализовать. Вопрос в том, как быстро и просто это сделать. Попробовал и решил пока остановиться на файлах. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.01.2016, 07:22 |
|
Сервисная база данных
|
|||
---|---|---|---|
#18+
CEMb, Ну тогда бери любой из вариантов которые ты упомянул в первом посте. Какой покажется более легким в реализации, тот и бери. В описанной задаче они будут равноценными. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.01.2016, 22:40 |
|
Сервисная база данных
|
|||
---|---|---|---|
#18+
CEMb3. MS Sql Мечты сбываются!.. купила бабка порося Итак, есть: - база данных MSSQL, в винде, из коробки. - приложение, которое работает с внешней базой данных, где много всякого. хочется: - создавать в локальной MSSQL копии некоторых данных внешней базы, чтобы не ходить полпланеты каждый раз за ними. - чтобы приложение, открывшись первый раз и получив trusted_connection к master, могло создать себе базу и нужные таблицы в ней. что пока получилось: - Create database myBase - получаю permisson denied in database 'master'. Возможно ли вообще любому приложению создать базу? Т.е. я сейчас могу пойти в студию, там открыть SQL browser и там создать базу и выдать права, ок. Но я не могу это сделать у всех других пользователей софта. Может быть можно сделать базу, сбакапить её, а потом как-то накатить из ресурсов программы? С другой стороны, почему я в студии под доменным коннектом могу создать базу, а в приложении под тем же(?) коннектом - не могу? Может, connection string надо как-то правильно уметь готовить? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.04.2019, 06:50 |
|
Сервисная база данных
|
|||
---|---|---|---|
#18+
CEMbМожет, connection string надо как-то правильно уметь готовить? Скорее всего проблема именно тут, т.к. все описанные проблемы только из-за отсутствия прав у того, кто указан в connection string. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.04.2019, 08:41 |
|
Сервисная база данных
|
|||
---|---|---|---|
#18+
Dima T, ага, а как узнать, как правильно приготовить connection string? :) Т.е. юзер с виндовой аутентификацией, хочет создать себе базу... ... |
|||
:
Нравится:
Не нравится:
|
|||
15.04.2019, 13:22 |
|
Сервисная база данных
|
|||
---|---|---|---|
#18+
Не пробовал, но вроде так Код: plaintext 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
15.04.2019, 13:30 |
|
Сервисная база данных
|
|||
---|---|---|---|
#18+
У него прав на создание базы нет, а не проблема с коннектом. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
15.04.2019, 13:41 |
|
Сервисная база данных
|
|||
---|---|---|---|
#18+
Dima Ttrusted_connection=Yesпробовал, permission denied Dimitry SibiryakovУ него прав на создание базы нет, а не проблема с коннектом.ну вот там вроде как можно на коннекте права получить. я нашёл такое, что можно указать файл для создания базы данных для юзера, у которого вообще нет прав на машине. тут , но оно у меня выпадает с ошибкой на Integrated Security=true; ... |
|||
:
Нравится:
Не нравится:
|
|||
15.04.2019, 13:49 |
|
Сервисная база данных
|
|||
---|---|---|---|
#18+
CEMbну вот там вроде как можно на коннекте права получить. Это было бы слишком большой дырой в безопасности если бы любой пользователь мог положить сервер тупо создав кучу баз и забив всё место на диске. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
15.04.2019, 14:14 |
|
|
start [/forum/topic.php?fid=57&msg=39801513&tid=2017627]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
38ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
57ms |
get tp. blocked users: |
1ms |
others: | 258ms |
total: | 399ms |
0 / 0 |