You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

SQL Server Local DB跨设备连接失败问题求助

解决LocalDB无法跨电脑连接的问题

先给你掰扯明白:SQL Server LocalDB从设计之初就是给单用户本地用的,它不是那种能对外共享的数据库服务,所以其他电脑本来就没法直接连你的LocalDB实例——这是它的定位,只为当前机器上的单个用户提供本地数据存储,根本没做远程访问的支持。

既然你明确说只需要本地存储、不需要给其他电脑共享数据库,那其实你现在的配置完全没问题,但得先把为什么连不上的原因说清楚,避免你踩坑:

为啥其他电脑连不上你的LocalDB?

  • LocalDB的实例是用户专属的,只在你当前登录的Windows账号下运行,别说其他电脑,就连你本机换个用户登录都没法直接访问它
  • 它根本没对外开网络端口,默认就不允许远程连接,也没有服务器级别的管理功能

符合你需求的正确用法(本地存储)

你现在的连接字符串是对的,继续用就行,但如果是你自己要在其他电脑上用同一个应用,得这么操作:

  • 先在那台电脑上装SQL Server LocalDB(找微软官方安装包,选LocalDB组件就行,体积很小)
  • 把你的myDB.mdf和配套的myDB_log.ldf文件,复制到那台电脑应用的|DataDirectory|路径下
  • 连接字符串保持不变,那台电脑的LocalDB就能正常加载这个数据库文件了

要是以后不小心需要共享数据库(虽然你现在不需要,但提个醒)

如果之后有需求要让其他电脑访问这个数据库,那LocalDB就不合适了,得换方案:

  • 换成免费的SQL Server Express版,它支持远程连接,只要配置一下服务和权限就行
  • 或者用更轻量的SQLite,纯文件型数据库,直接把数据库文件复制到其他电脑就能用,连数据库服务都不用装

最后给你确认下当前的连接字符串,本地用完全没问题:

<connectionStrings>
  <add name="stocksDB" 
       connectionString="Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\myDB.mdf;Integrated Security=True;" 
       providerName="System.Data.SqlClient" />
</connectionStrings>

只要你本机的LocalDB安装正常,|DataDirectory|下面有对应的mdf文件,本地连接肯定没问题。

内容的提问来源于stack exchange,提问作者Fabrizio402

火山引擎 最新活动