Пара вопросов., Базы данных и xml |
Здравствуйте, гость ( Вход | Регистрация )
Пара вопросов., Базы данных и xml |
vankleef |
25.10.2010, 13:09
Сообщение
#1
|
Студент Группа: Участник Сообщений: 74 Регистрация: 21.10.2010 Пользователь №: 2134 Спасибо сказали: 9 раз(а) Репутация: 1 |
Всем доброго времени суток!
Есть пара вопросов. 1) В примерах есть программы, работающие с sqlite. Но получается так, что самого сервера этой СУБД нету и таблицы создаются в оперативной памяти? Получится ли также работать с другими СУБД (в частности mysql и oracle)? 2) Есть ли какие-нибудь готовые решения для записи таблицы (из БД или qtableview) в xml файл или придется все таки выбирать селектом каждое поле и вручную записывать? Так же интересует обратная задача: из xml в БД. Пишу программу для создания тестов, вопросы будут хранится в БД. Но для удобства думаю сделать чтото вроде автономного режима: тоесть чтобы учитель спокойно пришел домой, наваял тестов, сохранил в файл, пришел в школу и загнал их в БД. |
|
|
panter_dsd |
25.10.2010, 13:23
Сообщение
#2
|
Жаждущий знаний Группа: Участник Сообщений: 254 Регистрация: 1.1.2009 Из: Санкт-Петербург Пользователь №: 474 Спасибо сказали: 32 раз(а) Репутация: 3 |
1. Только с sqlite.
2. Нет. |
|
|
Iron Bug |
25.10.2010, 18:06
Сообщение
#3
|
Профессионал Группа: Модератор Сообщений: 1611 Регистрация: 6.2.2009 Из: Yekaterinburg Пользователь №: 533 Спасибо сказали: 219 раз(а) Репутация: 12 |
Пишу программу для создания тестов, вопросы будут хранится в БД. Но для удобства думаю сделать чтото вроде автономного режима: тоесть чтобы учитель спокойно пришел домой, наваял тестов, сохранил в файл, пришел в школу и загнал их в БД. ну так юзай sqlite - он как раз для этого и создан: сделал программу и можешь её и все созданные с её помощью файлы таскать с собой без проблем. |
|
|
vankleef |
25.10.2010, 22:06
Сообщение
#4
|
Студент Группа: Участник Сообщений: 74 Регистрация: 21.10.2010 Пользователь №: 2134 Спасибо сказали: 9 раз(а) Репутация: 1 |
когда участники будут проходить тестирование вопросы будут браться с общего сервера
|
|
|
Iron Bug |
26.10.2010, 6:52
Сообщение
#5
|
Профессионал Группа: Модератор Сообщений: 1611 Регистрация: 6.2.2009 Из: Yekaterinburg Пользователь №: 533 Спасибо сказали: 219 раз(а) Репутация: 12 |
когда участники будут проходить тестирование вопросы будут браться с общего сервера в принципе, смотря как идёт работа. SQLite умеет работать с базами по любому пути: указываешь удалённый путь до базы и вперёд. естественно, будет не очень быстро. и есть ограничение: в таком режиме, из-за реализации файловой системы, могут быть ошибки, если одновременно два или более клиентов пытаются писать в одну базу - она может грохнуться. так что такой вариант лучше использовать только для чтения. ну а иначе действительно ставить какой-то сервер и городить экспорт-импорт вручную. либо делать экспорт полученной базы в SQL скрипт, а потом его обрабатывать и вносить в другую базу. скрипты практически совместимы. если нет особых наворотов, то можно довольно просто преобразовать скрипт для SQLite для использования в другой базе. а вообще, есть готовые тулзы для конвертации из SQLite в MySQL и обратно. вот список, где представлены несколько вариантов таких конвертилок: http://www.sqlite.org/cvstrac/wiki?p=ConverterTools |
|
|
Sokoloff |
26.10.2010, 9:21
Сообщение
#6
|
Участник Группа: Участник Сообщений: 237 Регистрация: 1.4.2009 Из: Москва Пользователь №: 654 Спасибо сказали: 50 раз(а) Репутация: 11 |
Можно использовать firebird он умеет работать и с нормальным сервером, и как embedded.
Сообщение отредактировал Sokoloff - 26.10.2010, 9:23 |
|
|
panter_dsd |
26.10.2010, 10:56
Сообщение
#7
|
Жаждущий знаний Группа: Участник Сообщений: 254 Регистрация: 1.1.2009 Из: Санкт-Петербург Пользователь №: 474 Спасибо сказали: 32 раз(а) Репутация: 3 |
Можно использовать firebird он умеет работать и с нормальным сервером, и как embedded. Цитата Но получается так, что самого сервера этой СУБД нету и таблицы создаются в оперативной памяти? Разве firebird так может? |
|
|
Sokoloff |
26.10.2010, 13:44
Сообщение
#8
|
Участник Группа: Участник Сообщений: 237 Регистрация: 1.4.2009 Из: Москва Пользователь №: 654 Спасибо сказали: 50 раз(а) Репутация: 11 |
Можно использовать firebird он умеет работать и с нормальным сервером, и как embedded. Цитата Но получается так, что самого сервера этой СУБД нету и таблицы создаются в оперативной памяти? Разве firebird так может? Да, http://www.firebirdsql.org/manual/fbmetasecur-embedded.html http://sql.ru/faq/faq_topic.aspx?fid=313 Еще у встроенной базы можно поставить флажок, что она риадонли, и, например раздавать на CD вместе с программой. На Qt я с firebird не работал, но давно писал прогу на Delphi, но насколько понимаю на Qt все должно быть так-же. Так вот, embeded версия библиотек может работать и с файлом и с реальным сервером, достаточно указать путь к базе как server:/path/to/base. Т.е. можно написать программу, она по умолчанию создает однопользовательскую эмбедед базу и не требует от пользователя устанавливать сервер. А уж если пользователю понадобиться, то он ставит сервер и в конфиге прописывает путь к базе как сетевой. Сообщение отредактировал Sokoloff - 26.10.2010, 13:44 |
|
|
Iron Bug |
26.10.2010, 13:55
Сообщение
#9
|
Профессионал Группа: Модератор Сообщений: 1611 Регистрация: 6.2.2009 Из: Yekaterinburg Пользователь №: 533 Спасибо сказали: 219 раз(а) Репутация: 12 |
Так вот, embeded версия библиотек может работать и с файлом и с реальным сервером, достаточно указать путь к базе как server:/path/to/base. дык, так и SQLite может работать. а Firebird гарантирует при сетевом доступе сохранность базы при нескольких клиентах? это же зависит от реализации файловой системы, а там полно багов. |
|
|
panter_dsd |
26.10.2010, 13:58
Сообщение
#10
|
Жаждущий знаний Группа: Участник Сообщений: 254 Регистрация: 1.1.2009 Из: Санкт-Петербург Пользователь №: 474 Спасибо сказали: 32 раз(а) Репутация: 3 |
В embeded версии firebird нельзя приконнектиться к файлу БД, если он лежит в сети, даже на подключенном сетевом диске.
|
|
|
Текстовая версия | Сейчас: 2.1.2025, 16:10 |