crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

2 страниц V   1 2 >  
Ответить в данную темуНачать новую тему
> Пара вопросов., Базы данных и 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  


Цитата(vankleef @ 25.10.2010, 16:09) *
Пишу программу для создания тестов, вопросы будут хранится в БД. Но для удобства думаю сделать чтото вроде автономного режима: тоесть чтобы учитель спокойно пришел домой, наваял тестов, сохранил в файл, пришел в школу и загнал их в БД.

ну так юзай 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  


Цитата(vankleef @ 26.10.2010, 1:06) *
когда участники будут проходить тестирование вопросы будут браться с общего сервера

в принципе, смотря как идёт работа. 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  


Цитата(Sokoloff @ 26.10.2010, 10:21) *
Можно использовать firebird он умеет работать и с нормальным сервером, и как embedded.


Цитата
Но получается так, что самого сервера этой СУБД нету и таблицы создаются в оперативной памяти?

Разве firebird так может? :blink:
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Sokoloff
  опции профиля:
сообщение 26.10.2010, 13:44
Сообщение #8


Участник
**

Группа: Участник
Сообщений: 237
Регистрация: 1.4.2009
Из: Москва
Пользователь №: 654

Спасибо сказали: 50 раз(а)




Репутация:   11  


Цитата(panter_dsd @ 26.10.2010, 11:56) *
Цитата(Sokoloff @ 26.10.2010, 10:21) *
Можно использовать firebird он умеет работать и с нормальным сервером, и как embedded.


Цитата
Но получается так, что самого сервера этой СУБД нету и таблицы создаются в оперативной памяти?

Разве firebird так может? :blink:


Да,
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  


Цитата(Sokoloff @ 26.10.2010, 16:44) *
Так вот, 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 страниц V   1 2 >
Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 29.3.2024, 9:23