我正在使用Entity Framework Code First来创建我的数据库。
这是当前的连接字符串
"Integrated Security=SSPI;MultipleActiveResultSets=True;Pooling=false;Data Source=(localdb)\\v11.0;Initial Catalog=Inventory"
但是,当我尝试将其附加到SQL Server Management Studio中时,此数据库不可见。
这是因为运行SQL Server服务的帐户需要有权访问我的用户文件夹才能看到它。
我尝试过授予此帐户访问权限,但由于我的用户文件夹中其他内容的权限而导致出现问题。
因此我认为我应该为要创建的数据库指定文件夹名称,但我不确定如何执行此操作,以及此方法可能带来的其他问题。
[更新] 我现在正在调查在app.config中设置AttachDbFilename
this link is helpful但是我不清楚如何设置| DataDirectory |对于winforms应用程序。
[更新]
以下连接字符串有效
<add name="ConnectionString" connectionString="Integrated Security=SSPI;MultipleActiveResultSets=True;Pooling=false;Data Source=(localdb)\v11.0;AttachDbFilename=c:\databases\MyDatabase.mdf;"/>
了解如何将路径配置为与exe文件位置相同将会很有帮助。
答案 0 :(得分:0)
您可以先使用sql server management studio(ssms)连接到您的localdb实例(服务器名称:(localdb)\ v11.0,Windows身份验证)
备份localdb数据库(右键单击db - &gt; task - &gt; backup)
然后与其他系统共享db备份文件。
答案 1 :(得分:0)
我将以下内容放在Main()
中AppDomain.CurrentDomain.SetData("DataDirectory", AppDomain.CurrentDomain.BaseDirectory);
以及app.config中的以下内容
<add name="ConnectionString" connectionString="Integrated Security=SSPI;MultipleActiveResultSets=True;Pooling=false;Data Source=(localdb)\v11.0;AttachDbFilename=|DataDirectory|\MyDatabase.mdf;"/>