43 votes

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

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

Actuellement, nous avons un processus qui récupère les données d'une base de données Microsoft SQL Server et les place dans un fichier de base de données SQLite qui sera utilisé ultérieurement par une application.

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

Y a-t-il un plug-in pour Microsoft SQL Management Studio? Ou peut-être y a-t-il un autre moyen d'accomplir cette tâche en n'exécutant qu'une seule requête.

Actuellement, nous devons écrire deux scripts... un pour la base de données SQL Server et un pour la base de données SQLite... puis prendre la sortie de chacun dans le même format et les placer chacun dans leur propre fichier de 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 faire cela.

Édition : Les colonnes et mises en page des tables 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.

P.S. De nombreuses applications utilisent SQLite en interne : Utilisateurs Célèbres de SQLite

24voto

CeePlusPlus Points 131

L'OP demande un moyen d'interroger entre les bases de données et je comprends les réponses sur les serveurs liés. 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 ça.

Appelez-moi paresseux, mais toutes ces réponses sont un peu laborieuses et/ou nécessitent des choses que vous ne voulez peut-être pas faire, n'avez pas accès à faire dans tous les cas, ou sont tout simplement la mauvaise chose à faire si tout ce que vous cherchez est quelque chose de mieux que DB Browser For SQLite comme MSSMS.

Utilisez simplement ceci : SQLServerCompactSQLiteToolboxforSSMS

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

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

Ajoutez une connexion ajouter une connexion

Parcourez le fichier

saisissez la description de l'image ici

14voto

Mark Points 156

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

-- doit être une connexion odbc système et non utilisateur

EXEC sp_addlinkedserver 
   @server = 'SQLite', -- le nom que vous donnez au serveur dans studio 
   @srvproduct = '',
   @provider = 'MSDASQL', 
   @datasrc = 'SQLite' -- le nom de la connexion ODBC système que vous avez créée
GO

Voici comment obtenir 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')

8voto

PaloDravecky Points 811

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

  1. Installer le pilote SQLite ODBC de Ch. Werner (32 et 64 bits ?)
  2. Dans SSMS, allez dans Objets du serveur > Serveurs liés > Nouveau serveur lié... Nouveau serveur lié...
  3. Dans la fenêtre, entrez :
    • Serveur lié : EXEMPLE (ou autre chose)
    • Fournisseur : Fournisseur Microsoft OLE DB pour les pilotes ODBC
    • Nom du produit : exemple (ou autre chose)
    • Chaîne de connexion : Driver=SQLite3 ODBC Driver;Database=chemin/complet/vers/db; Propriétés du serveur lié

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

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

comme mentionné ci-dessus.

7voto

Paul Smith Points 339

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 du 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.

Ici se trouve un tutoriel pour MySQL, donc si vous pouvez créer une connexion ODBC pour SQLite, vous serez prêt à y aller.

4voto

user401445 Points 469

En suivant les instructions de la réponse de maplemale et du commentaire de Daniel Henry, j'ai préparé un guide pour 2021 (SSMS 18.8 au moment de l'écriture) sur la façon d'accomplir cette tâche.

Vous devez d'abord télécharger le NOUVEAU SQLite and SQL Server Compact Toolbox d'ErikEJ, compatible avec VS 2017 & 2019, sur lequel le nouveau SSMS est basé.

Vous pouvez l'installer sur votre VS si vous le souhaitez, mais nous sommes ici pour SSMS.

Pour citer Daniel Henry:

  1. Ouvrez %PROGRAMFILES(X86)%\Microsoft SQL Server Management Studio 18\Common7\IDE\Extensions dans l'explorateur de fichiers.
  2. Créez un nouveau répertoire nommé "SqlCeToolbox".
  3. Téléchargez le .vsix depuis le Marketplace Visual Studio.
  4. Ouvrez-le dans votre archiveur préféré (7Zip, WinRAR, etc.).
  5. Extrayez le contenu dans le répertoire créé à l'étape 2.

REMARQUE : Si vous obtenez une erreur "l'accès est refusé" lors de l'extraction du contenu, extrayez le contenu du .vsix dans un dossier temporaire vers lequel l'archiveur peut extraire. Enfin, copiez les fichiers dans le nouveau répertoire créé à l'étape 2.


Vous pouvez maintenant trouver cette extension à deux endroits dans SSMS, comme indiqué ci-dessous.

Premier emplacement

Deuxième emplacement


Pour compléter cette réponse, vous voudrez ajouter la connexion SQLite.

Ajouter une connexion SQLite

Enfin, trouvez votre fichier de base de données SQLite sous ces formats :

  • .db
  • .db3
  • .sqlite
  • .sqlite3
  • .dat
  • .mdb (sous Tous les fichiers (*.*) dans l'Explorateur de fichiers)

N'oubliez pas de cliquer sur le bouton "Fermer" en bas pour ajouter votre fichier de base de données au lieu de cliquer sur le bouton X rouge en haut à droite.

Cliquez sur le bouton

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X