3

我有一个 asp.net webforms 项目,在连接字符串引用的 App_Data 文件夹中有一个数据库:

<add name="databaseconnectionstring" connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|database.mdf;Integrated Security=True" providerName="System.Data.SqlClient" />

该解决方案还包含另一个项目,其中包含需要访问同一数据库的 Web 服务。 是否可以在连接字符串中写入该数据库的相对路径?- 例如。像这样的东西(不起作用):

<add name="databaseconnectionstring" connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|/../../ProjectName/App_Data/database.mdf;Integrated Security=True" providerName="System.Data.SqlClient" />
4

1 回答 1

4

基本上|DataDirectory|App_Data文件夹的别名。由于您没有App_Data在服务项目中使用,因此在这种情况下对您没有帮助。

您可以做的是尝试从项目根目录开始使用~\

AttachDbFilename=~\..\ProjectName\App_Data\database.mdf

此外,始终可以选择使用绝对路径:

AttachDbFilename=d:\Projects\ProjectName\App_Data\database.mdf

最后,总有一个选项可以以编程方式构建连接字符串。

于 2013-06-03T17:10:46.810 回答