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.aspx和http://www.sqlitecompare.com/的组合在这里不起作用。
PS 许多应用程序在内部使用 SQLite:SQLite的知名用户
map*_*ale 23
OP 正在寻求一种在 DB 之间进行查询的方法,因此我了解链接的服务器响应。但是,如果您来到这里是因为您只是想用 MSSMS 打开一个 SQLite 数据库,那比这容易得多。
说我懒惰,但所有这些答案都有些费力和/或需要您可能不想做的事情,在每种情况下都可以做,或者如果您正在寻找更好的东西,那就是错误的事情比用于 SQLite 的 DB 浏览器,例如 MSSMS。
只需使用这个:SQLServerCompactSQLiteToolboxforSSMS
浏览到文件
小智 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')
如果您无法安装系统 DNS,则应执行以下步骤:

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 准备的。
引用丹尼尔·亨利的话:
%PROGRAMFILES(X86)%\Microsoft SQL Server Management Studio 18\Common7\IDE\Extensions在“文件资源管理器”中打开。.vsix从Visual Studio Marketplace下载.注意:如果在提取内容时出现“访问被拒绝”错误,请将内容提取.vsix到存档程序可以提取到的临时文件夹中。最后,将文件复制到步骤 2 中创建的新目录中。
现在,您可以在 SSMS 内的两个位置找到此扩展,如下所示。
为了完成这个答案,您需要添加 SQLite 连接。
最后,找到以下格式的 SQLite 数据库文件:
All files (*.*)在文件资源管理器中)请不要忘记单击底部的“关闭”按钮来添加数据库文件,而不是单击右上角的红色 X 按钮。