web-dev-qa-db-fra.com

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) à partir de Microsoft SQL Server Management Studio?

À l'heure actuelle, 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 pouvoir le comparer aux données contenues dans la base de données SQL Server ... à l'aide d'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 de faire la même tâche en utilisant une seule requête.

Pour le moment, nous devons écrire deux scripts (un pour la base de données serveur SQL et un pour la base de données SQL), puis prendre la sortie de chacun dans le même format et les placer dans leur propre fichier de feuille de calcul OpenOffice. Enfin, nous comparons les deux fichiers pour voir s’il existe des différences. Peut-être qu'il y a une meilleure façon de faire cela.

Edit: Les colonnes et les présentations de la table sont différentes. Vous devez donc utiliser la combinaison suivante: 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 connus de SQLite

31
Brian T Hannan

Bonjour, il est possible d'ouvrir n'importe quel serveur SQL à partir de Management Studio lorsque vous disposez du pilote odbc approprié. Créez une connexion ODBC avec le fichier * .db3 et appelez-la comme SQLite, puis essayez ceci est une fenêtre de requête

- doit être une connexion système odbc et non un 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

Voici comment vous obtenez les données, vous pouvez créer des vues à l'aide de ce SQL si vous le souhaitez

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

12
Mark

L'OP demande un moyen d'interroger 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 un peu laborieuses et/ou exigent des choses que vous ne voulez peut-être pas faire, que vous n'avez pas le droit de faire dans tous les cas, ou sont tout simplement la mauvaise chose à faire si tout ce que vous recherchez est meilleur que DB Browser For SQLite tel que MSSMS.

Il suffit d'utiliser ceci: SQLServerCompactSQLiteToolboxforSSMS

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

Ouvrez la boîte à outils compacte Open the Compact Toolbox

Ajouter une connexion add connection

Naviguez jusqu'au fichier

enter image description here

11
maplemale

Vous pouvez créer un serveur lié, si vous avez un fournisseur pour SQLite que SQL Server acceptera.

Connectez-vous à votre base de données, naviguez dans les "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.

Ici est un tutoriel pour MySQL. Si vous pouvez créer une connexion ODBC pour SQLite, vous serez prêt à partir.

7
ta.speot.is

Si vous ne pouvez pas installer un DNS système, procédez comme suit:

  1. Installez le pilote SQLite ODBC du ch. Werner (32 et 64 bits?)
  2. Dans SSMS, accédez à Objets serveur> Serveurs liés> Nouveau serveur lié ... New linked server...
  3. Dans la fenêtre, entrez:
    • Serveur lié: EXEMPLE (ou autre)
    • Fournisseur: Fournisseur de Microsoft OLE DB pour les pilotes ODBC
    • Nom du produit: exemple (ou n'importe quoi)
    • Chaîne du fournisseur: Driver=SQLite3 ODBC Driver;Database=full/path/to/db; Linked Server Properties

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

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

comme mentionné ci-dessus.

7
PaloDravecky

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

1
Mircea

Avant de pouvoir configurer un serveur lié, vous aurez besoin d’un pilote ODBC pour SQLite. Toutefois, une fois que vous en avez installé un sur votre serveur SQL, il est relativement facile de configurer un serveur lié.

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

1
Jonathan