是否可以从Microsoft SQL Server Management Studio中打开SQLite数据库?


33

是否可以从Microsoft SQL Server Management Studio中打开.db文件(SQLite数据库文件)?

现在,我们有一个过程将从Microsoft SQL Server数据库中获取数据,并将其放入SQLite数据库文件中,稍后将由应用程序使用。

有没有一种方法可以打开SQLite数据库文件,以便可以将其与SQL Server数据库中的数据进行比较……仅使用一个SQL查询?

是否有用于Microsoft SQL Management Studio的插件?也许还有另一种方法可以仅使用一个查询来完成相同的任务。

现在,我们必须编写两个脚本...一个用于sql server数据库,一个用于sqlite数据库...然后将每个脚本的输出以相同的格式放入各自的OpenOffice电子表格文件中。最后,我们比较两个文件以查看是否存在任何差异。也许有更好的方法可以做到这一点。

编辑:表的列和布局是不同的,因此使用http://www.codeproject.com/KB/database/convsqlservertosqlite.aspxhttp://www.sqlitecompare.com/的组合将无法在此处使用。

PS许多应用程序内部使用SQLite:SQLite 的知名用户


1
您是否尝试过SQL Server Compact / SQLite工具箱visualstudiogallery.msdn.microsoft.com/…–
SarjanWebDev

在问我们之前您尝试过吗?如果您没有Sqlite数据库可以尝试,那么这是一个很好的示例。chinookdatabase.codeplex.com
downloads/get/

Answers:


13

嗨,是的,如果您具有正确的odbc驱动程序,则可以从Management Studio中打开任何sql服务器。创建与* .db3文件的ODBC连接,并调用类似SQLite的名称,然后尝试使用这是一个查询窗口

-需要是系统odbc连接而不是用户

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

这是获取数据的方式,如果愿意,也可以使用此sql创建视图

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


13

OP要求一种在数据库之间进行查询的方法,因此我了解链接的服务器响应。但是,如果您因为只想使用MSSMS打开SQLite数据库而在这里,那会比这容易得多。

叫我懒,但是所有这些答案都是费力的,并且/或者要求您可能不想做的事情,在每种情况下都可以做的事情,或者如果您要寻找的只是更好的事情就是错误的事情比用于SQLite的数据库浏览器(例如MSSMS)要多。

只需使用:SQLServerCompactSQLiteToolboxforSSMS

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

打开压缩工具箱 打开压缩工具箱

添加连接 添加连接

浏览到文件

在此处输入图片说明


7

如果您有SQL Server可以接受的SQLite提供程序,则可能要创建一个链接服务器。

连接到数据库,然后浏览“服务器对象”,“链接服务器”并添加新的链接服务器。然后,您可以使用SQL Server查询SQLite数据库,并直接比较结果。

是MySQL的教程,因此,如果您可以为SQLite创建ODBC连接,那么您将很高兴。


7

如果您无法安装系统DNS,则以下步骤应该起作用:

  1. 从Ch。安装SQLite ODBC驱动程序。Werner(32位和64位?)
  2. 在SSMS中,转到服务器对象>链接服务器>新建链接服务器... 新的链接服务器...
  3. 在窗口中输入:
    • 连结伺服器:EXAMPLE(或其他)
    • 提供程序:用于ODBC驱动程序的Microsoft OLE DB提供程序
    • 产品名称:示例(或其他名称)
    • 提供者字符串: Driver=SQLite3 ODBC Driver;Database=full/path/to/db; 链接服务器属性

您现在应该能够使用以下命令查询SQLite数据库

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

正如刚才提到的。


对于使用此方法的任何人,请在全路径数据库中使用正斜杠而不是反斜杠
gordy

1

可以在Management Studio中打开另一种类型的数据库。我使用到Informix服务器的链接服务器打开了一个Informix数据库。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.