Rider连接LocalDB显示错误数据库,如何加载指定MDF文件?
解决DataGrip连接LocalDB后仅显示系统表、无法访问自定义MDF数据库的问题
你遇到的情况很常见——DataGrip连接LocalDB成功后只能看到系统表,直接在连接配置的Database字段填MDF文件名根本没用。这是因为DataGrip只能识别已经附加到LocalDB实例中的数据库,下面是具体的解决步骤:
确认MDF文件已附加到LocalDB实例
既然你在Visual Studio的SQL Server对象资源管理器里能看到目标数据库,说明它已经成功附加到LocalDB实例了。如果没看到的话,你可以在VS里右键「数据库」选项,选择「附加」,找到你的MDF文件完成附加操作。刷新DataGrip的数据库列表
回到DataGrip,找到你的LocalDB连接节点,右键点击选择Refresh(刷新),或者点击连接名称旁的刷新图标。刷新完成后,你的自定义数据库应该就会出现在列表里,不再只有spt_monitor、spt_fallback_dev这类系统表。如果刷新后还是看不到,用SQL命令手动附加
打开DataGrip的查询控制台,执行以下SQL语句(记得替换占位符为你自己的数据库信息):CREATE DATABASE YourDatabaseName ON (FILENAME = 'C:\Path\To\Your\Database.mdf'), (FILENAME = 'C:\Path\To\Your\Database.ldf') FOR ATTACH;执行完成后再次刷新数据库列表,就能看到你的目标数据库了。
检查文件权限(容易遗漏的关键点)
LocalDB默认使用当前Windows用户账户运行,确保你的MDF和LDF文件所在的文件夹对当前用户有读取和写入权限。如果权限不足,LocalDB无法访问文件,自然也就加载不了数据库。
内容的提问来源于stack exchange,提问作者Istvan Heckl
相关产品推荐
相关产品推荐

