身份模仿asp.net中的oledb连接

时间:2013-05-22 04:50:51

标签: asp.net

我有一个问题,在我的应用程序中,我尝试使用OLEDB连接上传Excel数据。 我的代码

                if (fileExtension == ".xls")
                {
                    connectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + fileLocation + ";Extended Properties=\"Excel 8.0;HDR=Yes;IMEX=2\"";
                }
                else if (fileExtension == ".xlsx")
                {
                    connectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + fileLocation + ";Extended Properties=\"Excel 12.0;HDR=Yes;IMEX=2\"";
                }

                //  Create OleDB Connection and OleDb Command

                OleDbConnection con = new OleDbConnection(connectionString);
                OleDbCommand cmd = new OleDbCommand();
                cmd.CommandType = System.Data.CommandType.Text;
                cmd.Connection = con;
                OleDbDataAdapter dAdapter = new OleDbDataAdapter(cmd);
                DataTable dtExcelRecords = new DataTable();


                con.Open();

在我使用

时工作正常
<identity impersonate="false"/>

但是当我使用

<identity impersonate="true" userName="domain\accountname" password="*****"/>

OLEDB连接引发错误,未指定错误。

有人可以帮帮我吗。

由于

Gulrej

1 个答案:

答案 0 :(得分:0)

您可能希望提供有关解决方案的更多详细信息。模拟的用户可能无权访问该文件。

假冒问题是多方面的,如果不了解您的具体配置,就很难提供帮助。

当您在本地或远程访问服务器时也会发生故障。如果它在本地成功但远程失败,您可能希望将SPN分配给应用程序的ASP.NET App池用户帐户。

查看此article