访问asp.net中App_Data内的资源

时间:2013-03-08 02:50:34

标签: asp.net

我有一个asp.net应用程序,它具有以下结构:

App_code
App_Data
   data.mdb
js
css
manager
  App_Data
  App_Code
  web.config
.....

现在我想访问data.mdb中的manager/web.config

如何访问它?


我试过了:

<add key="connstr" value="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|datadirectory|\data.mdb" />

然后我收到了错误:

'manager/data.mdb' does not exist.

然后我尝试了这个:Data Source=|datadirectory|\..\App_Data\data.mdb

我收到错误:connstr not valid.

1 个答案:

答案 0 :(得分:-1)

您需要访问manager/中的那个。我希望有一种方法可以做到这一点。您可以尝试提供数据库文件data.mdb的完整或绝对地址。我的意思是,如果您正在使用本地系统,它应该是您硬盘上的确切地址,如C:/Folder/YourProject/Manager/data.mdb,如果您需要在Web服务器上工作,只需添加您的主机的确切地址,即可从托管小组本身或其他方式。

你可以做的只是创建一个temp.aspx文件并在temp.aspx.cs(我假设它是C#代码背后)你可以打印服务器的路径,如:

protected void Page_Load(object sender, EventArgs e)
{
    Response.Write(Server.MapPath("~").ToString());
} 

并将其上传到根目录中的托管服务器上。当您访问它时,您将获得托管的绝对地址。而你现在需要做的只是将地址复制并粘贴到web.config的connectionString,同时附加你的数据库路径,你将使应用程序正常工作。请记住从托管中删除temp.aspx

因此,如果您的地址与D:/Hosting/4232322/Some_directory

相同

你的完整字符串应该是这样的:

<add name="connstr" providerName="Microsoft.Jet.OleDB.4.0" connectionString="Provider=Microsoft.Jet.OleDB.4.0; Data Source=D:/Hosting/4232322/Some_directory/manager/data.mdb; Persist Security Info=True;"/>