Frage

Gibt es ein Tool ein SQLite Datenbank SQL Server (sowohl die Struktur und Daten)?

War es hilfreich?

Lösung

SQLite eine .dump Option hat in der Befehlszeile ausgeführt werden. Obwohl ich es vorziehen, für die Verwaltung von SQLite-Datenbanken den SQLite Database Browser Anwendung zu verwenden. Sie können die Struktur und den Inhalt in eine SQL-Datei exportieren, die von so ziemlich alles gelesen werden kann. Datei> Exportieren> Datenbank auf SQL-Datei.

Andere Tipps

Ich weiß, dass diese alten Thread ist, aber ich denke, dass diese Lösung auch hier sein sollte.

  • Installieren ODBC-Treiber für SQLite
  • Ausführen odbcad32 für x64 oder C: \ Windows \ SysWOW64 \ odbcad32.exe für x86
  • Erstellen SYSTEM DSN, in dem Sie SQLite3 ODBC-Treiber
  • wählen
  • Sie dann füllen Sie Formular, in dem Datenbank-Name Dateipfad zu SQLite-Datenbank ist

Dann in SQL Server unter Sysadmin ausgeführt

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

Dann können Sie Ihre Abfragen als normaler Benutzer ausführen z.

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

oder Sie können etwas verwenden wie für größere Tabellen href="https://stackoverflow.com/a/7354416/1756072">.

SQLite-Manager , Firefox Add-on: Damit können Sie eine SQLite-Datenbank in einer SQL-Skript exportieren

.

Datenbasis> Export Datenbank> Export in Datei

(Korrektur firefox 35 bugg verpflichtet, den Erweiterungscode zu korrigieren, wie auf der folgenden Webseite anzuzeigen: Wie optionales SQLite Manager-Modul beheben zu arbeiten )

Befehlszeile :

sqlite3 DB_name .dump > DB_name.sql

exportiert die SQLite-Datenbank in einem SQL-Skript.

Von url: http: //doc.ubuntu- fr.org/sqlite .

Eine Idee ist, etwas, was wie folgt tun: - Ansicht squema in SQL-lite und erhält den Befehl CREATE TABLE. - Ausführen von SQL-Parsing, in SQL Server - Reisedaten, die eine INSERT-Anweisung für jede Zeile erzeugt wird. (Parsen von SQL auch)

Dieser Code ist beta, da kein Typ Daten erfassen und keine Verwendung @parameter und Befehlsobjekt, sondern führen.

(Sie müssen Referenz einfügen und installieren System.Data.SQLite;)

c #: Fügen Sie diesen Code (oder neccesari) in Kopf cs

using System;

mit System.Collections.Generic;

using System.Text;

using System.Data;

using System.Data.SqlClient;

mit System.Data.SQLite;

System.Threading verwendet wird;

mit System.Text.RegularExpressions;

using System.IO;

mit 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
    }

Für Android.

adb root
adb shell
cd /data/com.xxx.package/databases/
sqlite3 db_name .dump >dump.sql
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top