![](/img/trans.png)
[英]asp.net c# working with iis express but not with iis local
[英]OLEDB reading Excel File Not Working on IIS asp.net C#
我正在嘗試瀏覽文件,然后將該文件保存到一個文件夾中,並嘗試使用OLEDB讀取該文件,Everything在本地以及在IIS上都可以正常工作。 當我在服務器上被釋放時,它也無法正常工作,並得到異常提示,例如“拒絕訪問路徑'C:\\ inetpub \\ wwwroot \\ exceptApp \\ Files \\ TemplateFile.xlsx'。”,IIS_USERS用戶對文件夾具有完全權限。 下面是我的代碼
protected void BtnSubmit_Click(object sender, EventArgs e)
{
try
{
grdResult.DataSource = null;
grdResult.DataBind();
BtnExport.Visible = false;
if (fuFile.HasFile)
{
string readConnString = "";
var fileExtn = Path.GetExtension(fuFile.FileName).ToLower();
var dir = Server.MapPath("~\\Files");
if (!Directory.Exists(dir))
{
Directory.CreateDirectory(dir);
}
var fileName = Path.GetFileName(fuFile.FileName.Trim());
var fileNameWithPath = Path.Combine(dir, fileName);
if (File.Exists(fileNameWithPath))
{
File.Delete(fileNameWithPath);
}
fuFile.PostedFile.SaveAs(fileNameWithPath);
fuFile.FileContent.Dispose();
//Connection String to Excel Workbook
if (fileExtn.Trim() == ".xls")
{
readConnString = string.Format("Provider=Microsoft.Jet.OLEDB.4.0; data source={0}; Extended Properties=\"Excel 8.0;HDR=Yes;IMEX=1\";", fileNameWithPath);
}
else if (fileExtn.Trim() == ".xlsx")
{
readConnString = string.Format("Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};Extended Properties=\"Excel 12.0;HDR=Yes;IMEX=1\";", fileNameWithPath);
}
using (var dbConn = new OleDbConnection(readConnString))
{
dbConn.Open();
var dt = dbConn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null);
using (var cmd = new OleDbCommand(@"SELECT * FROM [" + dt.Rows[0]["TABLE_NAME"].ToString() + "]", dbConn))
{
OleDbDataAdapter da = new OleDbDataAdapter(cmd);
DataSet ds = new DataSet();
da.Fill(ds);
var resultDt = ds.Tables[0];
dbConn.Close();
if (resultDt.Rows.Count > 0)
{
BtnExport.Visible = true;
grdResult.DataSource = resultDt;
grdResult.DataBind();
}
}
}
Thread.Sleep(1000);
if (File.Exists(fileNameWithPath))
{
File.Delete(fileNameWithPath);
}
}
}
catch (Exception ex)
{
exlog.Log("BtnSubmit_Click", ex.Message);
}
}
您必須將對inetpub文件夾的訪問權限授予服務器上的IIS_IUSRS。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.