4

我是 asp.net 的新手

当我在 IIS 上运行我的 Web 应用程序时出现以下错误,我在 xp-64 位和 windows-7 上都尝试了此代码

 'Microsoft.Jet.OLEDB.4.0' provider is not registered on the local machine. 

当我在“http://localhost:1464/Default.aspx”之类的端口上运行它时,它运行良好

我正在使用下面的代码

OleDbCommand excelCommand = new OleDbCommand();
OleDbDataAdapter excelDataAdapter = new OleDbDataAdapter();
string path = Server.MapPath(filename);
string excelConnStr = "provider=Microsoft.Jet.OLEDB.4.0;data source='" + path + "';Extended Properties='Excel 8.0; HDR=Yes; IMEX=1'";

OleDbConnection excelConn = new OleDbConnection(excelConnStr);
excelConn.Open();
4

2 回答 2

1

您需要将应用程序池配置为 32 位模式。检查这个

于 2012-10-12T06:38:32.207 回答
0

尝试这种方法可能会有所帮助->首先将您的 csv/excel 文件复制到应用程序目录中(在应用程序目录下创建一个文件夹并授予 ASP 网络用户权限)-> 然后将这个新路径提供给连接字符串

于 2012-10-12T06:41:14.993 回答