Est-il possible d'ouvrir une base de données SQLite à partir de Microsoft SQL Server Management Studio?

33

Existe-t-il un moyen d'ouvrir un fichier .db (fichier de base de données SQLite) à partir de Microsoft SQL Server Management Studio?

À l'heure actuelle, nous avons un processus qui récupérera les données d'une base de données Microsoft SQL Server et les placera dans un fichier de base de données SQLite qui sera utilisé par une application plus tard.

Existe-t-il un moyen d'ouvrir le fichier de base de données SQLite afin qu'il puisse être comparé aux données à l'intérieur de la base de données SQL Server ... en utilisant une seule requête SQL?

Existe-t-il un plug-in pour Microsoft SQL Management Studio? Ou peut-être existe-t-il une autre façon d'effectuer cette même tâche en utilisant une seule requête.

À l'heure actuelle, nous devons écrire deux scripts ... un pour la base de données du serveur sql et un pour la base de données sqlite ... puis prendre la sortie de chacun dans le même format et les mettre chacun dans leur propre fichier tableur OpenOffice. Enfin, nous comparons les deux fichiers pour voir s'il y a des différences. Il y a peut-être une meilleure façon de procéder.

Modifier: les colonnes et les dispositions de table sont différentes, donc l'utilisation de la combinaison de http://www.codeproject.com/KB/database/convsqlservertosqlite.aspx et http://www.sqlitecompare.com/ ne fonctionnera pas ici.

PS De nombreuses applications utilisent SQLite en interne: utilisateurs bien connus de SQLite

Brian T Hannan
la source
1
Avez-vous essayé SQL Server Compact / SQLite Toolbox visualstudiogallery.msdn.microsoft.com/…
SarjanWebDev
L'avez-vous essayé avant de nous le demander? Si vous n'avez pas de base de données Sqlite pour l'essayer, voici
Mawg

Réponses:

13

Salut Oui, il est possible d'ouvrir n'importe quel serveur SQL à partir de Management Studio lorsque vous avez le bon pilote ODBC pour le faire. Créez une connexion ODBC au fichier * .db3 et appelez-le quelque chose comme SQLite, puis essayez ceci est une fenêtre de requête

- doit être une connexion ODBC système non utilisateur

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

Voilà comment vous obtenez les données, vous pouvez également créer des vues en utilisant ce sql si vous le souhaitez

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

marque
la source
13

L'OP demande un moyen d'interroger entre les bases de données et je comprends donc les réponses du serveur lié. Cependant, si vous êtes ici parce que vous voulez simplement ouvrir une base de données SQLite avec MSSMS, c'est beaucoup plus facile que cela.

Appelez-moi paresseux, mais toutes ces réponses sont assez laborieuses et / ou nécessitent des choses que vous ne voudrez peut-être pas faire, avoir accès à faire dans tous les cas, ou ne sont pas la bonne chose à faire si tout ce que vous cherchez est quelque chose de mieux que DB Browser pour SQLite tel que MSSMS.

Utilisez simplement ceci: SQLServerCompactSQLiteToolboxforSSMS

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

Ouvrez la boîte à outils compacte Ouvrez la boîte à outils compacte

Ajouter une connexion ajouter une connexion

Accédez au fichier

entrez la description de l'image ici

maplemale
la source
7

Vous voudrez peut-être créer un serveur lié, si vous avez un fournisseur pour SQLite que SQL Server acceptera.

Connectez-vous à votre base de données, puis naviguez à travers "Objets serveur", "Serveurs liés" et ajoutez un nouveau serveur lié. Vous pouvez ensuite utiliser SQL Server pour interroger la base de données SQLite et comparer directement les résultats.

Voici un tutoriel pour MySQL, donc si vous pouvez créer une connexion ODBC pour SQLite, vous serez prêt à partir.

ta.speot.is
la source
7

Si vous ne pouvez pas installer un DNS système, les étapes suivantes devraient fonctionner:

  1. Installez le pilote ODBC SQLite à partir de Ch. Werner (32 et 64 bits?)
  2. Dans SSMS, accédez à Objets serveur> Serveurs liés> Nouveau serveur lié ... Nouveau serveur lié ...
  3. Dans la fenêtre entrez:
    • Serveur lié: EXEMPLE (ou autre)
    • Fournisseur: Microsoft OLE DB Provider for ODBC Drivers
    • Nom du produit: exemple (ou autre)
    • Chaîne du fournisseur: Driver=SQLite3 ODBC Driver;Database=full/path/to/db; Propriétés du serveur lié

Vous devriez maintenant pouvoir interroger la base de données SQLite avec

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

comme mentionné ci-dessus.

PaloDravecky
la source
pour tous ceux qui utilisent cette méthode, utilisez des barres obliques plutôt que des barres obliques inverses dans le chemin d'accès complet à db
gordy
1

Il est possible d'ouvrir un autre type de base de données dans Management Studio. J'ai ouvert une base de données Informix, en utilisant un serveur lié au serveur Informix.

Mircea
la source
1

Vous aurez besoin d'un pilote ODBC pour SQLite avant de pouvoir configurer un serveur lié, mais une fois que vous en avez un installé sur votre serveur SQL, il est relativement facile de configurer un serveur lié en l'utilisant.

Exemple d'utilisation de la base de données SQLite "SpiceWorks"

Jonathan
la source