我想知道为什么我不能在ASP.NET web.config文件中使用自定义环境变量?
<?xml version="1.0"?>
<configuration>
<connectionStrings>
<add name="ConnectionName" connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename='%MyProjectsFolder%\WebAppName\App_Data\Database1.mdf';User Instance=true" providerName="System.Data.SqlClient" />
</connectionStrings>
</configuration>
我查看了开始 - &gt;运行.mdf文件的文件路径是有效的。
当我运行我的C#代码连接到数据库时,我收到以下错误:
尝试为文件附加自动命名的数据库 %MyProjectsFolder%\ WebAppName \ App_Data \ Database1.mdf失败。一个 存在同名的数据库,或指定的文件不能存在 打开,或者它位于UNC分享。
答案 0 :(得分:6)
环境变量可能未在配置文件中使用。
答案 1 :(得分:1)
您可以使用:DataDirectory,如下所示:
“Data Source = |DataDirectory|\Mydb.sdf”
您可以更改DataDirectory指向的位置:“要设置DataDirectory属性,请调用AppDomain.SetData”
http://social.msdn.microsoft.com/Forums/en/sqlce/thread/dc31ea59-5718-49b6-9f1f-7039da425296
警告,我从未尝试过这个。
答案 2 :(得分:0)
我认为你没试过:
connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename='~/App_Data/Database1.mdf';User Instance=true"