我正在设置Web服务,我想使用本地数据库,因此我在此项目中创建了本地SQL Server数据库。 Web服务在localhost上运行得很好,但是当我在该项目上调用从本地数据库加载数据的方法时出现了问题:
System.Data.SqlClient.SqlException:
尝试为文件C:\ Program Files(x86)\ IIS Express \ TourTravelDB.mdf附加自动命名的数据库失败。存在具有相同名称的数据库,或者无法打开指定的文件,或者该文件位于UNC共享上。
TourTravelDB.mdf
是我的本地数据库
我在web.config
中添加了一个连接字符串,但仍然无法正常工作。
这是我的连接字符串。
<connectionStrings>
<add name="CS"
connectionString="Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirectory|\TourTravelDB.mdf;Integrated Security=True"
providerName="System.Data.SqlClient"/>
</connectionStrings>
我也尝试将数据库移动到IIS Express目录,它可以工作,但是当从另一台计算机运行它时,我必须再次移动数据库。
有人知道如何解决吗?
答案 0 :(得分:0)
这可能会对您有所帮助。
添加“ User Instance = True;”在您的连接字符串中。
<connectionStrings>
<add name="aspnet_staterKits_Test_TimeTracker"
connectionString="Data Source=.\SQLExpress;Integrated Security=True;User Instance=True;AttachDBFilename=|DataDirectory|aspnetdb.mdf;"/>
<remove name="LocalSqlServer"/>
<add name="LocalSqlServer"
connectionString="Data Source=.\SQLExpress;Integrated Security=True;User Instance=True;AttachDBFilename=|DataDirectory|aspnetdb.mdf;"/>
</connectionStrings>
如果不起作用,请尝试以下链接。
答案 1 :(得分:0)
打开服务器资源管理器,右键单击数据库,然后选择右下角的属性。将出现一个属性窗口。复制连接字符串并在您的应用程序中使用它。
或
1)右键单击.mdf文件->选择服务器资源管理器下的修改连接。 2)弹出窗口->单击高级按钮->选择(LocalDB)\ v11.0作为数据源值