Excel:如何连接到 sqlserver localDB

Ang*_*elo 8 database sql-server microsoft-excel microsoft-excel-2010

我创建了一个LocalDB,我可以在 MS sqlserver management studio 2014、linqpad 和 Visual Studio 2013 中使用它。

这是 SSMS 中“连接属性”对话框的一部分,它显示了服务器名称: 在此处输入图片说明

我希望能够从 excel 中连接到这个数据库。问题是 Excel 中的“数据连接向导”无法连接。

在这里,我输入了与 SSMS 中的“连接属性”中给出的相同的服务器名称....

在此处输入图片说明

这是我得到的错误... 在此处输入图片说明

问题:

  • excel 可以连接到 localDB 吗?我知道这CAN连接到SQL服务器数据库。LocalDB 是否有一些限制可以防止这种情况?我认为 LocalDB 的全部意义在于允许在不设置独立数据库的情况下进行开发。

  • 有没有其他连接方式?还是我的服务器名称需要一些烦人的修改?

Ang*_*elo 6

多么无偿的皮塔饼啊!

我能够按照以下步骤使用“数据连接向导”使其工作....

  1. 从数据连接向导中选择“其他/高级”,然后点击“下一步”。我认为由 sqlserver express 创建的 localDB 将作为“SQL Server”。显然不是!虽然我不明白为什么。

在此处输入图片说明

  1. 选择“SQL Server Native Client 11.0”作为提供程序。OK,我刚刚不是在前面的选项卡中选择“SQL服务器”。此外,我碰巧正在运行 sql server express 的 12 版,并且列表中没有“12”——也许它严格指的是客户端版本,隐含着客户端 11 可以连接到服务器 12 的微妙含义?又一个认知剪纸。

在此处输入图片说明

  1. 输入在 SSMS 或 linqpad 中使用的相同服务器名称。选择 Windows 集成安全。测试连接现在可以工作,可以选择数据库,并将表转储到 excel 中。

在此处输入图片说明

做到这一点并不难,但似乎没有任何合乎逻辑的流程,您必须挣扎直到发出咔嗒声。


tbc*_*tbc 1

这是连接字符串(SQLServer 2012 / Excel 2013):
Server=(LocalDB)\MSSQLLocalDB; Integrated Security=true ;AttachDbFileName={mdf file full path}

哦,在我的 PC 上,我必须使用;Trusted_Connection=Yes,它可能没有任何意义,因为我的笔记本电脑和 PC 都运行完全相同版本的 SQLServer 和 Excel。


编辑

我无法重现该错误(我什至在虚拟机上安装了 SQL Server 2014 并且它仍然有效)。您可以添加并且可能对您有帮助的唯一选项是Provider=SQLNCLI11;或者您可以通过在命令行中Provider=SQLNCLI12;运行来找出安装的版本。 这会产生类似的结果:sqllocaldb v
Microsoft SQL Server 2014 (12.0.2000.8)