Есть ли инструмент для переноса базы данных SQLite на SQL Server (и структура и данные)?Экспорт из SQLite в SQL Server
ответ
SQLite имеет опцию .dump для запуска в командной строке. Хотя я предпочитаю использовать приложение SQLite Database Browser для управления базами данных SQLite. Вы можете экспортировать структуру и содержимое в файл .sql, который можно прочитать практически ни о чем. Файл> Экспорт> База данных в файл SQL.
Команда SQLite .dump
выведет все содержимое базы данных в виде текстового файла ASCII. Этот файл находится в стандартном формате SQL, поэтому его можно импортировать в любую базу данных SQL. Подробнее на этой странице: sqlite3
SQLite-менеджер, светлячок надстройки: позволяет экспортировать базу данных SQLite в сценарии SQL.
База данных> Экспорт базы данных> Экспорт в файл
(Коррекция Firefox 35 Bugg обязан исправить код расширения, как указать на следующей веб-странице: How to fix your optional sqlite manager module to work)
Командная строка:
sqlite3 DB_name .dump > DB_name.sql
экспортирует базу данных sqlite в SQL-скрипт.
От url: http://doc.ubuntu-fr.org/sqlite.
Я использую SQLite-менеджер, Firefox дополнение но Fk не работает в SQL-сервере я должен изменить сценарий один на один у меня есть более чем 100 таблицы со многой FK .. это есть новая работа вокруг спасибо
Я знаю, что это старая нить, но я думаю, что это решение должно быть также здесь.
- Установите ODBC драйвер для SQLite
- Run odbcad32 для x64 или C: \ Windows \ SysWOW64 \ odbcad32.exe для x86
- Создать SYSTEM DSN, в котором можно выбрать SQLite3 ODBC Driver
- Затем заполнить до формы, где имя базы данных путь_к_файла в SQLite базы данных
Затем в SQL Server запустить под сисадмином
USE [master]
GO
EXEC sp_addlinkedserver
@server = 'OldSQLite', -- connection name
@srvproduct = '', -- Can be blank but not NULL
@provider = 'MSDASQL',
@datasrc = 'SQLiteDNSName' -- name of the system DSN connection
GO
Затем вы можете запускать свои запросы как обычный пользователь , например.
SELECT * INTO SQLServerDATA FROM openquery(SQLiteDNSName, 'select * from SQLiteData')
или вы можете использовать что-то наподобие this для больших таблиц.
Идея это что-то вроде этого: - Просмотреть squema в sql lite и получить команду CREATE TABLE. - Выполнение, разбор sql, в SQL SERVER - Данные путешествия, создающие запись INSERT для каждой строки. (синтаксический анализ sql тоже)
Этот код является бета-версией, потому что нет данных типа обнаружения и не используется параметр @parameter и командный объект, но выполняется.
(Вам нужно вставить ссылку и установить System.Data.SQLite;)
C#: Вставьте этот код (или neccesari) в голове CS
с использованием системы;
using System.Collections.Generic;
using System.Text;
using System.Data;
using System.Data.SqlClient;
using System.Data.SQLite;
using System.Threading;
using System.Text.RegularExpressions;
using System.IO;
использование log4net;
using System.Net;
public static Boolean SqLite2SqlServer(string sqlitePath, string connStringSqlServer)
{
String SqlInsert;
int i;
try
{
string sql = "select * from sqlite_master where type = 'table' and name like 'YouTable in SQL'";
string password = null;
string sql2run;
string tabla;
string sqliteConnString = CreateSQLiteConnectionString(sqlitePath, password);
//sqliteConnString = "data source=C:\\pro\\testconverter\\Origen\\FACTUNETWEB.DB;page size=4096;useutf16encoding=True";
using (SQLiteConnection sqconn = new SQLiteConnection(sqliteConnString))
{
sqconn.Open();
SQLiteCommand command = new SQLiteCommand(sql, sqconn);
SQLiteDataReader reader = command.ExecuteReader();
SqlConnection conn = new SqlConnection(connStringSqlServer);
conn.Open();
while (reader.Read())
{
//Console.WriteLine("Name: " + reader["name"] + "\tScore: " + reader["score"]);
sql2run = "" + reader["sql"];
tabla = "" + reader["name"];
/*
sql2run = "Drop table " + tabla;
SqlCommand cmd = new SqlCommand(sql2run, conn);
cmd.ExecuteNonQuery();
*/
sql2run = sql2run.Replace("COLLATE NOCASE", "");
sql2run = sql2run.Replace(" NUM", " TEXT");
SqlCommand cmd2 = new SqlCommand(sql2run, conn);
cmd2.ExecuteNonQuery();
// insertar los datos.
string sqlCmd = "Select * From " + tabla;
SQLiteCommand cmd = new SQLiteCommand(sqlCmd, sqconn);
SQLiteDataReader rs = cmd.ExecuteReader();
String valor = "";
String Valores = "";
String Campos = "";
String Campo = "";
while (rs.Read())
{
SqlInsert = "INSERT INTO " + tabla;
Campos = "";
Valores = "";
for (i = 0; i < rs.FieldCount ; i++)
{
//valor = "" + rs.GetString(i);
//valor = "" + rs.GetName(i);
Campo = "" + rs.GetName(i);
valor = "" + rs.GetValue(i);
if (Valores != "")
{
Valores = Valores + ',';
Campos = Campos + ',';
}
Valores = Valores + "'" + valor + "'";
Campos = Campos + Campo;
}
SqlInsert = SqlInsert + "(" + Campos + ") Values (" + Valores + ")";
SqlCommand cmdInsert = new SqlCommand(SqlInsert, conn);
cmdInsert.ExecuteNonQuery();
}
}
}
return true;
} //END TRY
catch (Exception ex)
{
_log.Error("unexpected exception", ex);
throw;
} // catch
}
- 1. Экспорт результатов SQL Server в Sqlite
- 2. Экспорт данных из SQL Server в Excel
- 3. Экспорт данных из SQL Server в Excel
- 4. Экспорт данных из SQL Server в PostgreSQL
- 5. Экспорт из SQL Server в Excel
- 6. SQL Server: экспорт в Excel
- 7. Экспорт данных из SQL Server при обновлении
- 8. Экспорт CSV-файла из SQL Server 2005?
- 9. Экспорт продуктов и вариантов из SQL Server
- 10. Преобразование запросов из SQL Server в SQLite
- 11. КАК Экспорт/импорт БД из SQL SERVER
- 12. SQLite vs. SQL Server
- 13. Экспорт изображений с SQL Server
- 14. Sql Server 2008R2 Экспорт XML
- 15. SQLite vs SQL Server
- 16. Экспорт данных из SQLite 3
- 17. экспорт данных в sql server 2012
- 18. Экспорт таблицы SQL Server в несколько файлов
- 19. PHP Экспорт в CSV с SQL Server
- 20. Экспорт данных из Excel в SQL Server (прямо из Excel, не используя мастер данных SQL Server)
- 21. Массовый экспорт данных из SQL Server в Excel в VB
- 22. Экспорт SQL-кода из Excel в SQL
- 23. Экспорт XML в SQL Server Сохраненная процедура
- 24. Экспорт Sqoop в SQL Server: схемы?
- 25. SQL Server: экспорт запросов в CSV
- 26. Экспорт таблицы SQL Server в проблему Excel
- 27. Экспорт данных SQL Server в CSV
- 28. Экспорт в Excel с SQL Server
- 29. Экспорт данных в формате фиксированной ширины из SQL Server 2005
- 30. Экспорт таблиц из SQL Server для импорта в Oracle 10g
Экспортированный файл нуждается в некоторой настройке для различий в синтаксисе, но ничего сложного. Спасибо – 2008-10-02 16:09:53
Технически оболочка SQLite не является SQLite, а консольным приложением, связанным с SQLite, который является только библиотекой. – Benoit 2011-01-25 17:04:06
Это указывало на меня в правильном направлении, но я искал синтаксис, поэтому я включу его здесь: `sqlite3 my_db.db -batch" .dump "> my_db.sql` – 2017-04-02 16:59:23