¿Es posible abrir una base de datos SQLite desde Microsoft SQL Server Management Studio?


33

¿Hay alguna manera de abrir un archivo .db (archivo de base de datos SQLite) desde Microsoft SQL Server Management Studio?

En este momento tenemos un proceso que tomará los datos de una base de datos de Microsoft SQL Server y los colocará en un archivo de base de datos SQLite que será utilizado por una aplicación más adelante.

¿Hay alguna manera de abrir el archivo de base de datos SQLite para que pueda compararse con los datos dentro de la base de datos de SQL Server ... usando solo una consulta SQL?

¿Existe un complemento para microsoft sql management studio? O tal vez hay otra forma de hacer esta misma tarea usando solo una consulta.

En este momento tenemos que escribir dos scripts ... uno para la base de datos del servidor sql y otro para la base de datos sqlite ... luego tome la salida de cada uno en el mismo formato y colóquelos en su propio archivo de hoja de cálculo OpenOffice. Finalmente, comparamos los dos archivos para ver si hay alguna diferencia. Quizás haya una mejor manera de hacer esto.

Editar: las columnas de la tabla y los diseños son diferentes, por lo que usar el combo de http://www.codeproject.com/KB/database/convsqlservertosqlite.aspx y http://www.sqlitecompare.com/ no funcionará aquí.

PD: muchas aplicaciones usan SQLite internamente: usuarios conocidos de SQLite


1
¿Ha tratado de SQL Server Compact / SQLite Caja de herramientas visualstudiogallery.msdn.microsoft.com/...
SarjanWebDev

¿Lo probaste antes de preguntarnos? Si no tiene una base de datos Sqlite para probarla, esta es una buena muestra ... chinookdatabase.codeplex.com/downloads/get/557773
Mawg

Respuestas:


13

Hola, sí, es posible abrir cualquier servidor SQL desde el estudio de administración cuando tienes el controlador odbc correcto para hacerlo. Cree una conexión ODBC con el archivo * .db3 y llámelo como SQLite, luego intente con esta ventana de consulta

- debe ser una conexión odbc del sistema, no un usuario

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

Así es como obtienes los datos, también puedes crear vistas usando este sql si quieres

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


13

El OP está pidiendo una forma de consulta entre bases de datos y entiendo las respuestas del servidor vinculado. Sin embargo, si estás aquí porque simplemente quieres abrir una base de datos SQLite con MSSMS, es mucho más fácil que eso.

Llámame perezoso, pero todas estas respuestas son un poco laboriosas y / o requieren cosas que quizás no quieras hacer, que tengas acceso a hacer en todos los casos, o que simplemente sean algo incorrecto si todo lo que estás buscando es algo mejor que el navegador DB para SQLite como MSSMS.

Solo use esto: SQLServerCompactSQLiteToolboxforSSMS

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

Abra la caja de herramientas compacta Abra la caja de herramientas compacta

Agregar una conexión agregar conexión

Busque el archivo

ingrese la descripción de la imagen aquí


7

Es posible que desee crear un servidor vinculado, si tiene un proveedor para SQLite que SQL Server aceptará.

Conéctese a su base de datos y luego navegue a través de "Objetos de servidor", "Servidores vinculados" y agregue un nuevo servidor vinculado. Luego puede usar SQL Server para consultar la base de datos SQLite y comparar los resultados directamente.

Aquí hay un tutorial para MySQL, por lo que si puede crear una conexión ODBC para SQLite, estará listo.


7

Si no puede instalar un DNS del sistema, entonces los siguientes pasos deberían funcionar:

  1. Instale el controlador SQLite ODBC desde el cap. Werner (¿32 y 64 bits?)
  2. En SSMS, vaya a Objetos del servidor> Servidores vinculados> Nuevo servidor vinculado ... Nuevo servidor vinculado ...
  3. En la ventana ingrese:
    • Servidor vinculado: EJEMPLO (o cualquier cosa)
    • Proveedor: Proveedor Microsoft OLE DB para controladores ODBC
    • Nombre del producto: ejemplo (o cualquier cosa)
    • Cadena de proveedor: Driver=SQLite3 ODBC Driver;Database=full/path/to/db; Propiedades del servidor vinculado

Ahora debería poder consultar la base de datos SQLite con

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

como se ha mencionado más arriba.


para cualquiera que use este método, use barras diagonales en lugar de barras diagonales inversas en el camino completo a db
gordy

1

ES posible abrir otro tipo de base de datos en Management Studio. Abrí una base de datos Informix, usando un servidor vinculado al servidor Informix.


Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.