Ответ 1
Вы также можете загрузить браузер базы данных SQlite и открыть свою базу данных. После этого экспортируйте каждую таблицу в csv/html
В таких СУБД как Oracle или PostgreSQL существуют функции для генерации данных XML из базы данных: http://docs.oracle.com/cd/B19306_01/appdev.102/b14259/xdb13gen.htm или http://www.postgresql.org/docs/current/static/functions-xml.html#AEN15086
Мой вопрос: есть ли что-то подобное в базе данных SQLite? Может быть, есть несколько дополнительных инструментов, библиотек или даже стандартных инструментов для этой цели?
Вы также можете загрузить браузер базы данных SQlite и открыть свою базу данных. После этого экспортируйте каждую таблицу в csv/html
Если вы используете С#.NET, это может быть два способа.
Вы можете получить данные в наборы данных и использовать метод .WriteXml() для записи в XML файл.
var sqc = new SqlConnection(ConfigurationManager.ConnectionStrings["AddsConnectionString"].ConnectionString);
sqc.Open();
var q = "select * from adv";
var sqd = new SqlDataAdapter(q, sqc);
var ds = new DataSet();
sqd.Fill(ds,"adv");
ds.WriteXml("d:/data.xml");
Не забудьте включить System.Xml
вы можете скачать SQLite Studio. И directliy экспортирует таблицы или базу данных в xml файл. введите описание изображения здесь
Существует плагин драйвера qt sqlite, поэтому, если вы решите сделать программу конверсии самостоятельно, вы можете легко сделать это с помощью С++ и qt. Загрузите драйвер, откройте базу данных, извлеките любую информацию, которая вам нужна, с запросами, выведите их в файл в любом формате, который вы хотите.
В противном случае кто-то уже сделал конверсионную программу: Видео с экспортом db в любой формат
Существует много возможных способов решения этой проблемы.
Ответ: "да и нет". Это не одно и то же, но SQLite на самом деле довольно способна в этом отношении. Однако вам нужно катить свое решение.
Чтобы понять, как это сделать, вы должны понимать, как SQLite отличается от базы данных, такой как PostgreSQL или Oracle. В то время как последние два являются серверами, которые взаимодействуют с клиентами через сокеты (сеть или UNIX), SQLite - это библиотека, которая взаимодействует с остальной частью приложения с использованием встроенной памяти. SQLite не имеет специальных инструментов XML, но у него есть инфраструктура для создания собственного. Учитывая, что вы не указали язык, с которым работаете (и это делает подход встроенного db другим), я буду обсуждать, как об этом думать, а затем предоставить указатели на документацию API Python и C.
В PostgreSQL вы расширяете SQL, предоставляя функции, которые запускаются при их вызове. Они живут в бэкэнд и создаются при вызове. В SQLite ваш процесс такой же, как и сервер, поэтому все, что у вас есть в вашей библиотеке, находится в том же процессе, что и SQLite. Это означает, что вы можете распространять SQL как язык произвольными способами, просто говоря SQLite, какую функцию вызывать, когда видит функцию, которую она не понимает. Таким образом, вы должны создать это, указав вызовы функций, а затем зарегистрировав их с помощью SQLite.
Документация Python содержит полный рабочий пример того, как зарегистрировать функцию Python с SQLite, чтобы она генерировала md5hash при вызове. Такой же подход можно использовать для создания целых XML-документов. Я отмечаю это первым, потому что это дает хороший пример того, что вы можете сделать.
документация SQLite подробно описывает это с точки зрения C. Отсюда вы можете определить свои собственные агрегаты, свои собственные функции и многое другое. Таким образом, у вас есть все блоки, которые вам нужны для чего-то подобного, только последняя миля не предоставляется.