Exportar do SQLite para o servidor SQL

Existe uma ferramenta para migrar umSQLite para servidor SQL (tanto a estrutura como os dados)?

Author: Peter Mortensen, 2008-10-02

5 answers

SQLite tem um .opção de descarga para executar na linha de comando. Embora eu prefira usar a aplicação SQLite Database Browser para gerir bases de dados SQLite. Você pode exportar a estrutura e conteúdo para A.arquivo sql que pode ser lido por praticamente qualquer coisa. Ficheiro > Exportar > base de dados para Ficheiro SQL.

 25
Author: swilliams, 2013-05-07 20:57:54
Eu sei que este é um fio antigo, mas acho que esta solução também deveria estar aqui.
  • Instalar o controlador ODBC para o SQLite
  • Executar odbcad32 para x64 ou C:\Windows\SysWOW64\odbcad32.exe para x86
  • Crie o sistema DSN, onde selecciona o controlador ODBC sqlite3
  • Depois preenche o formulário onde o nome da Base de dados é filepath para a base de dados SQLite

Depois, no servidor SQL, executar sob o sysadmin

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

Então você pode executar suas consultas como normal usuario por exemplo

SELECT * INTO SQLServerDATA FROM openquery(SQLiteDNSName, 'select * from SQLiteData')

Ou pode usar algo como isto para tabelas maiores.

 7
Author: Krivers, 2017-05-23 10:30:46

O comando SQLite .dump irá enviar todo o conteúdo da base de dados como um ficheiro de texto ASCII. Este arquivo está em formato SQL padrão, para que possa ser importado em qualquer banco de dados SQL. Mais detalhes nesta página: sqlite3

 6
Author: Nathan Clark, 2013-05-07 20:58:33

O SQLite-manager, o Firefox add-on: permite-lhe exportar uma base de dados SQLite para um programa SQL.

Base de dados>Exportar base de dados>Exportar para Ficheiro

(correcção firefox 35 bugg obrigado a corrigir o código de extensão como indica na página web seguinte: Como corrigir o seu módulo opcional de Gestor de sqlite para funcionar)

Linha de comandos :

sqlite3 DB_name .dump > DB_name.sql

Exporta a base de dados sqlite num script SQL.

A partir do url : http://doc.ubuntu-fr.org/sqlite.

 3
Author: AlbanMar31, 2017-05-23 12:10:50
Uma ideia é fazer uma coisa destas.: - Ver squema no SQL lite e obter o comando Criar tabela. - Executar, processar sql, no servidor SQL - Dados de viagem criando um estado de inserção para cada linha.

Este código é beta, porque não detecta dados de tipo, e não usa o parâmetro @e objeto de comando, mas executa.

(é necessário inserir referência e instalar o sistema.Dado.SQLite;)

C#: Inserir este código (ou neccesari) na cabeça cs

Utilizando O Sistema;

Utilizar Sistema.Coleccao.Genérico;

Usando O Sistema.Texto;

Usando O Sistema.Data;

Usando O Sistema.Dado.SqlClient;

Usando O Sistema.Dado.SQLite;

Usando O Sistema.Roscagem;

Usando O Sistema.Texto.Regularexpressões;

Utilizar System.IO;

Usando log4net;

Utilizar 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
    }
 0
Author: R.Alonso, 2016-11-07 11:10:23