È possibile aprire un database SQLite da Microsoft SQL Server Management Studio?


33

C'è un modo per aprire un file .db (file di database SQLite) da Microsoft SQL Server Management Studio?

In questo momento abbiamo un processo che prenderà i dati da un database Microsoft SQL Server e li inserirà in un file di database SQLite che verrà utilizzato da un'applicazione in seguito.

C'è un modo per aprire il file di database SQLite in modo che possa essere confrontato con i dati all'interno del database di SQL Server ... utilizzando solo una query SQL?

Esiste un plug-in per microsoft sql management studio? O forse c'è un altro modo per fare questa stessa attività usando solo una query.

In questo momento dobbiamo scrivere due script ... uno per il database del server sql e uno per il database sqlite ... quindi prendere l'output da ciascuno nello stesso formato e metterli ciascuno nel proprio file di foglio di calcolo di OpenOffice. Infine, confrontiamo i due file per vedere se ci sono differenze. Forse c'è un modo migliore per farlo.

Modifica: le colonne e i layout della tabella sono diversi, pertanto l'utilizzo della combinazione di http://www.codeproject.com/KB/database/convsqlservertosqlite.aspx e http://www.sqlitecompare.com/ non funzionerà qui.

PS Molte applicazioni utilizzano SQLite internamente: utenti noti di SQLite


1
Hai provato SQL Server Compact / SQLite Toolbox visualstudiogallery.msdn.microsoft.com/…
SarjanWebDev

Ci hai provato prima di chiedercelo? Se non si dispone di un database Sqlite da provare, questo è un buon esempio ... chinookdatabase.codeplex.com/downloads/get/557773
Mawg

Risposte:


13

Ciao Sì, è possibile aprire qualsiasi server sql dall'interno di Management Studio quando si dispone del driver odbc corretto per farlo. Crea una connessione ODBC al file * .db3 e chiamalo come SQLite, quindi prova che questa è una finestra di query

- deve essere una connessione odbc di sistema non utente

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

Questo è il modo in cui ottieni i dati, puoi creare viste usando questo sql e se vuoi

SELEZIONA * DA OPENQUERY (SQLite, 'SELEZIONA * DA tbl_Postcode')


13

L'OP sta chiedendo un modo per interrogare tra DB e quindi capisco le risposte del server collegato. Tuttavia, se sei qui perché vuoi semplicemente aprire un db SQLite con MSSMS, è molto più facile di così.

Chiamami pigro, ma tutte queste risposte sono un po 'laboriose e / o richiedono cose che potresti non voler fare, avere accesso a fare in ogni caso o sono la cosa sbagliata da fare se tutto ciò che stai cercando è qualcosa di meglio di DB Browser Per SQLite come MSSMS.

Basta usare questo: SQLServerCompactSQLiteToolboxforSSMS

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

Apri la Casella degli strumenti compatta Apri la Casella degli strumenti compatta

Aggiungi una connessione aggiungi connessione

Sfoglia il file

inserisci qui la descrizione dell'immagine


7

È possibile creare un server collegato, se si dispone di un provider per SQLite che SQL Server accetterà.

Connettiti al tuo database e poi naviga tra "Oggetti server", "Server collegati" e aggiungi un nuovo server collegato. È quindi possibile utilizzare SQL Server per eseguire una query sul database SQLite e confrontare direttamente i risultati.

Ecco un tutorial per MySQL, quindi se puoi creare una connessione ODBC per SQLite, allora sarai a posto.


7

Se non è possibile installare un DNS di sistema, dovrebbero funzionare i seguenti passaggi:

  1. Installa il driver ODBC di SQLite da Ch. Werner (sia a 32 che a 64 bit?)
  2. In SSMS, vai su Oggetti server> Server collegati> Nuovo server collegato ... Nuovo server collegato ...
  3. Nella finestra inserisci:
    • Server collegato: ESEMPIO (o altro)
    • Provider: provider Microsoft OLE DB per driver ODBC
    • Nome del prodotto: esempio (o altro)
    • Stringa del provider: Driver=SQLite3 ODBC Driver;Database=full/path/to/db; Proprietà del server collegato

Ora dovresti essere in grado di interrogare il DB SQLite con

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

come menzionato sopra.


per chiunque utilizzi questo metodo, usa le barre rovesciate anziché le barre rovesciate nel percorso completo verso db
gordy,

1

È possibile aprire un altro tipo di database in Management Studio. Ho aperto un database Informix, utilizzando un server collegato al server Informix.


Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.