.net读取Excel报错:未在本地计算机上注册“Microsoft.ACE.OleDb.12.0”提供程序

C#.net里做了一个导入Excel表格的功能,原理是先让用户把Excel上传到服务器上,然后再读取上传的Excel内容。在调试状态下运行一切正常,但是在IIS配置的站点里访问就报错:未在本地计算机上注册“Microsoft.ACE.OleDb.12.0”提供程序,找网上说的安装了AccessDatabaseEngine.exe 也没有解决问题,请高手指教,链接字符串是这样的:

 

 string strCon = "provider=Microsoft.ACE.OleDb.12.0; Data Source ='" + Server.MapPath(folder + "/" + fileName) + "';Extended Properties='Excel 12.0;HDR=yes;IMEX=1';";
            OleDbConnection conn = new OleDbConnection(strCon);
            conn.Open();

运行到conn.open()那儿就报错

慕姐8265434
浏览 1179回答 13
13回答

九州编程

将IIS应用程序池里的预定义账户改为本地系统后解决   这个是在哪改的啊  我怎么找不到这个选项啊

萧十郎

如果想用x64,不知要如何配置呢?毕竟今后x64是服务器主流

慕仙森

谢谢各位回答,捣鼓了几天,总于好了,将IIS应用程序池里的预定义账户改为本地系统后解决,看来还是权限问题,有空了研究下本地系统账户和网络账户的区别

智慧大石

安裝一下 office 。

慕妹3146593

回复这么快,谢谢!同一台机器调试状态是好的,说明应该不是office的问题,只是一到IIS里就出错了,是否是IIS或者网站配置的问题

达令说

@無限遐想:  请教怎么注册?我的是IIS6.0,WinServer2003系统

largeQ

@xiaoliangkuai: 请问你是怎么解决的?我也遇到和你一样的问题了。

翻阅古今

连接字符串有问题,你的excel是什么版本的
打开App,查看更多内容
随时随地看视频慕课网APP