Ist es möglich, eine SQLite-Datenbank in Microsoft SQL Server Management Studio zu öffnen?

33

Gibt es eine Möglichkeit, eine DB-Datei (SQLite-Datenbankdatei) in Microsoft SQL Server Management Studio zu öffnen?

Momentan haben wir einen Prozess, der die Daten aus einer Microsoft SQL Server-Datenbank abruft und in eine SQLite-Datenbankdatei legt, die später von einer Anwendung verwendet wird.

Gibt es eine Möglichkeit, die SQLite-Datenbankdatei zu öffnen, damit sie mit nur einer SQL-Abfrage mit den Daten in der SQL Server-Datenbank verglichen werden kann?

Gibt es ein Plug-In für Microsoft SQL Management Studio? Oder es gibt eine andere Möglichkeit, dieselbe Aufgabe mit nur einer Abfrage auszuführen.

Momentan müssen wir zwei Skripte schreiben, eines für die SQL Server-Datenbank und eines für die SQLite-Datenbank. Dann nehmen wir die Ausgabe von jedem im selben Format und speichern sie in ihrer eigenen OpenOffice-Tabellenkalkulationsdatei. Schließlich vergleichen wir die beiden Dateien, um festzustellen, ob es Unterschiede gibt. Vielleicht gibt es dafür einen besseren Weg.

Bearbeiten: Die Tabellenspalten und Layouts sind unterschiedlich, daher funktionieren die Kombinationen aus http://www.codeproject.com/KB/database/convsqlservertosqlite.aspx und http://www.sqlitecompare.com/ hier nicht.

PS Viele Anwendungen verwenden SQLite intern: Bekannte Benutzer von SQLite

Brian T. Hannan
quelle
1
Haben Sie versucht, SQL Server Compact / SQLite Toolbox visualstudiogallery.msdn.microsoft.com/…
SarjanWebDev
Haben Sie es versucht, bevor Sie uns fragten? Wenn Sie keine SQLite-Datenbank zum Ausprobieren haben, ist dies ein gutes Beispiel ... chinookdatabase.codeplex.com/downloads/get/557773
Mawg

Antworten:

13

Hallo Ja, es ist möglich, einen beliebigen SQL-Server in Management Studio zu öffnen, wenn Sie den richtigen odbc-Treiber dafür haben. Erstellen Sie eine ODBC-Verbindung zur * .db3-Datei und nennen Sie sie so etwas wie SQLite. Versuchen Sie dann, dies ist ein Abfragefenster

- muss eine System-odbc-Verbindung sein, kein Benutzer

EXEC sp_addlinkedserver 
   @server = 'SQLite', -- the name you give the server in studio 
   @srvproduct = '',
   @provider = 'MSDASQL', 
   @datasrc = 'SQLite' -- the name of the system odbc connection you created
GO

Auf diese Weise erhalten Sie die Daten. Sie können auch Ansichten mit diesem SQL erstellen, wenn Sie möchten

SELECT * FROM OPENQUERY (SQLite, 'SELECT * FROM tbl_Postcode')

Kennzeichen
quelle
13

Das OP fragt nach einer Möglichkeit, zwischen DBs abzufragen, und daher verstehe ich die Antworten des Verbindungsservers. Wenn Sie jedoch hier sind, weil Sie einfach eine SQLite-Datenbank mit MSSMS öffnen möchten, ist dies viel einfacher.

Rufen Sie mich faul an, aber all diese Antworten sind mühsam und / oder erfordern Dinge, die Sie möglicherweise nicht tun möchten, zu denen Sie in jedem Fall Zugang haben oder die einfach falsch sind, wenn Sie nur nach etwas Besserem suchen als DB Browser Für SQLite wie MSSMS.

Verwenden Sie einfach Folgendes: SQLServerCompactSQLiteToolboxforSSMS

https://marketplace.visualstudio.com/items?itemName=ErikEJ.SQLServerCompactSQLiteToolboxforSSMS#overview

Öffnen Sie die Compact Toolbox Öffnen Sie die Compact Toolbox

Fügen Sie eine Verbindung hinzu Verbindung hinzufügen

Suchen Sie nach der Datei

Bildbeschreibung hier eingeben

Maplemale
quelle
7

Möglicherweise möchten Sie einen Verbindungsserver erstellen, wenn Sie einen Anbieter für SQLite haben, den SQL Server akzeptiert.

Stellen Sie eine Verbindung zu Ihrer Datenbank her und navigieren Sie dann durch "Serverobjekte", "Verbindungsserver" und fügen Sie einen neuen Verbindungsserver hinzu. Anschließend können Sie mit SQL Server die SQLite-Datenbank abfragen und die Ergebnisse direkt vergleichen.

Hier ist ein Tutorial für MySQL. Wenn Sie also eine ODBC-Verbindung für SQLite erstellen können, können Sie loslegen.

ta.speot.is
quelle
7

Wenn Sie kein System-DNS installieren können, sollten die folgenden Schritte funktionieren:

  1. Installieren Sie den SQLite ODBC-Treiber von Kap. Werner (sowohl 32 als auch 64 Bit?)
  2. Gehen Sie in SSMS zu Serverobjekte> Verbindungsserver> Neuer Verbindungsserver ... Neuer Verbindungsserver ...
  3. Im Fenster geben Sie ein:
    • Verbindungsserver: BEISPIEL (oder etwas anderes)
    • Anbieter: Microsoft OLE DB-Anbieter für ODBC-Treiber
    • Produktname: Beispiel (oder etwas anderes)
    • Provider-Zeichenfolge: Driver=SQLite3 ODBC Driver;Database=full/path/to/db; Eigenschaften für Verbindungsserver

Sie sollten nun in der Lage sein, die SQLite-Datenbank mit abzufragen

SELECT * FROM OPENQUERY(EXAMPLE, 'SELECT * FROM tbl_Postcode;')

wie oben erwähnt.

PaloDravecky
quelle
Verwenden Sie bei Verwendung dieser Methode Schrägstriche anstelle von
umgekehrten
1

Es ist möglich, einen anderen Datenbanktyp in Management Studio zu öffnen. Ich habe eine Informix-Datenbank mit einem Verbindungsserver zum Informix-Server geöffnet.

Mircea
quelle
1

Sie benötigen einen ODBC-Treiber für SQLite, um einen Verbindungsserver einzurichten. Wenn Sie jedoch einen solchen auf Ihrem SQL-Server installiert haben, ist es relativ einfach, einen Verbindungsserver damit einzurichten.

Beispiel mit "SpiceWorks" SQLite-Datenbank

Jonathan
quelle