代码是这样的
string strConn = "Provider=Microsoft.Ace.OleDb.12.0;" + "data source=" + filenameurl + ";Extended Properties='Excel 12.0;HDR=YES;IMEX=1'"; //string strConn = "Provider=Microsoft.Jet.OleDb.4.0;" + "data source=" + filenameurl + ";Extended Properties='Excel 8.0; HDR=YES; IMEX=1'"; OleDbConnection conn = new OleDbConnection(strConn); conn.Open();
其中 filenameurl是个网络位置。比如:\\Tzxmglxt_bf\投资文件\历史导入项目\20130325142226413149076092.xlsx
\\Tzxmglxt_bf这个共享文件夹给了不在web所在的服务器上。
我试了下 filenameurl是本地路径的话, 可以正常读取, 换成网络位置就不能打开conn了。
请大神看下,是权限什么的没有设置好吗
可能我描述的太含糊。是这样的
web 在一台.6的服务器上 (暂且称作web)
数据库在另一台服务器上 (称作server)
这个网络共享文件夹 在server服务器上。
这个功能本来是 读取用户上传的execl展示。
现在是把用户上传的execl存放到这个网络共享文件夹里,
然后读取。
上传成功了, 成功的把execl放到了server服务器上。
就是读取,读取的时候出现了1楼所说问题。
另 web.config里
1 <!--如果用UNC路径需要用iis模拟身份运行--> 2 <identity impersonate="true" userName="upload" password="1234567890" />
要指定IP
这是很久以前写的代码了,建议你尝试映射网络驱动器试下