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

Bri*_*nan 40 comparison sql-server-2008 sql-management-studio sql sqlite

有没有办法从 Microsoft SQL Server Management Studio 中打开 .db 文件(SQLite 数据库文件)?

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

有没有办法打开 SQLite 数据库文件,以便它可以与 SQL Server 数据库中的数据进行比较......只使用一个 SQL 查询?

微软sql管理工作室有插件吗?或者也许有另一种方法可以仅使用一个查询来完成相同的任务。

现在我们必须编写两个脚本……一个用于 sql server 数据库,一个用于 sqlite 数据库……然后以相同的格式从每个脚本中获取输出并将它们放入各自的 OpenOffice 电子表格文件中。最后,我们比较一下这两个文件,看看有没有什么不同。也许有更好的方法来做到这一点。

编辑:表格列和布局不同,因此使用http://www.codeproject.com/KB/database/convsqlservertosqlite.aspxhttp://www.sqlitecompare.com/的组合在这里不起作用。

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

map*_*ale 23

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

说我懒惰,但所有这些答案都有些费力和/或需要您可能不想做的事情,在每种情况下都可以做,或者如果您正在寻找更好的东西,那就是错误的事情比用于 SQLite 的 DB 浏览器,例如 MSSMS。

只需使用这个:SQLServerCompactSQLiteToolboxforSSMS

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

打开精简工具箱 打开精简工具箱

添加连接 添加连接

浏览到文件

在此处输入图片说明

  • 1. 在文件资源管理器中打开`%PROGRAMFILES(X86)%\Microsoft SQL Server Management Studio 18\Common7\IDE\Extensions`。2. 创建一个名为 SqlCeToolbox 的新目录。3. 从 Visual Studio Marketplace 下载 VISX。4. 在您​​最喜欢的存档器(7Zip、WinRAR 等)中打开它。5. 将内容解压到步骤 2 中创建的目录中。 (3认同)
  • 这仍然有效吗?我得到:“此扩展程序无法安装在任何当前安装的产品上。” 我有 VS Community 2019 (16.4.1) 和 SSMS 18.4,在 Windows 10 64 位,1909 上运行。我也按照 [above link](https://marketplace.visualstudio.com/items?itemName=) 中的建议进行了尝试ErikEJ.SQLServerCompactSQLiteToolboxforSSMS&ssr=false#overview),它是从命令提示符安装的,像这样(在我的例子中):“C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\IDE”“ extension.vsix 的完整路径” (2认同)
  • 这个答案不再有效。我尝试安装该文件,但出现与上面相同的错误。我尝试解压并放入文件夹中,如上所述。我试图在 VS 的市场上找到它。什么都不起作用。它不会在 SSMS 或 VS 中显示。有没有办法让它在 2021 年发挥作用? (2认同)

小智 14

嗨 是的,当您拥有正确的 odbc 驱动程序时,可以从管理工作室中打开任何 sql server。创建到 *.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
Run Code Online (Sandbox Code Playgroud)

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

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


Pal*_*cky 8

如果您无法安装系统 DNS,则应执行以下步骤:

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

您现在应该可以使用以下命令查询 SQLite DB

SELECT * FROM OPENQUERY(EXAMPLE, 'SELECT * FROM tbl_Postcode;')
Run Code Online (Sandbox Code Playgroud)

正如刚才提到的。


小智 8

根据maplemale回答Daniel Henry的评论的指示,我整理了一份 2021 年指南(撰写时为 SSMS 18.8),介绍如何实现此类任务。

您首先需要从 ErikEJ 下载新的SQLite 和 SQL Server Compact Toolbox,该工具箱可与 VS 2017 和 2019 配合使用,而较新的 SSMS 是在 VS 2017 和 2019 上构建的。

如果您愿意,可以将其安装到您的 VS 上,但我们是为 SSMS 准备的。

引用丹尼尔·亨利的话:

  1. %PROGRAMFILES(X86)%\Microsoft SQL Server Management Studio 18\Common7\IDE\Extensions在“文件资源管理器”中打开。
  2. 创建一个名为“SqlCeToolbox”的新目录。
  3. .vsixVisual Studio Marketplace下载.
  4. 在您最喜欢的存档器(7Zip、WinRAR 等)中打开它。
  5. 将内容提取到步骤 2 中创建的目录中。

注意:如果在提取内容时出现“访问被拒绝”错误,请将内容提取.vsix到存档程序可以提取到的临时文件夹中。最后,将文件复制到步骤 2 中创建的新目录中。


现在,您可以在 SSMS 内的两个位置找到此扩展,如下所示。

第一个地点

第二个地点


为了完成这个答案,您需要添加 SQLite 连接。

添加 SQLite 连接

最后,找到以下格式的 SQLite 数据库文件:

  • 。D b
  • .db3
  • .sqlite
  • .sqlite3
  • .dat
  • .mdb(All files (*.*)在文件资源管理器中)

请不要忘记单击底部的“关闭”按钮来添加数据库文件,而不是单击右上角的红色 X 按钮。

单击“关闭”按钮


ta.*_*.is 7

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

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

是 MySQL 的教程,因此,如果您可以为 SQLite 创建 ODBC 连接,那么您就可以开始使用了。