打不开Excel 数据源

yap111 2009-01-06 01:24:42
我使用下述语句,在OTList.xls文件中有且只有一个Sheet,名字为OT,但是怎么无法打开这个数据源呢?提示的错误信息如下:

链接服务器 "(null)" 的 OLE DB 访问接口 "Microsoft.Jet.OLEDB.4.0" 不包含表 "OT$"。该表不存在,或者当前用户没有访问该表的权限。

SELECT * FROM OpenDataSource ('Microsoft.Jet.OLEDB.4.0','Data Source="D:\Inetpub\wwwroot\HRMS\HRMS\UploadFile\OTList.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...OT$

补充: D:\Inetpub\wwwroot\HRMS\HRMS\UploadFile\OTList.xls 这个文件是存在的
OT$改成OT提示不包含表"OT",谁帮我解释下错误在哪?
...全文
219 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
yap111 2009-01-07
  • 打赏
  • 举报
回复
员工使用时候,前一两分钟还上传成功了两个Excel,之后第三个就出现了问题。
也有可能是我一同事修改了权限,我有空时候回去查。
我昨天做法与hongqi162 说的一样,将原来的程序重写了。
谢谢大家的帮忙!
ChengKing 2009-01-07
  • 打赏
  • 举报
回复
试一下:

权限问题:
如果是Window2003 ->控制面版 -> 管理工具 -> 组件服务 ->
打开树级目录找到子目录DCOM配置 -> Microsoft Excel 应用程序
-> 右击选“属性” -> 在弹出对话窗口中选“安全”选项卡->
-> 将启动和激活权限设为自定义->点击编辑按钮->
->在新窗口中将Everyone用户加入,选中复选框"启动权限",给予启动权限

如果是WindowXP ->控制面版 -> 管理工具 -> 组件服务(繁体为"元件服务") ->
打开树级目录找到子目录DCOM配置 -> Microsoft Excel 应用程序
-> 右击选“属性” -> 在弹出对话窗口中选“安全”选项卡->
-> 将启动和激活权限设为自定义->点击编辑按钮->
->在新窗口中将Everyone用户加入,选中复选框"远程启动",给予远程启动权限


Excel article resource:
http://blog.csdn.net/ChengKing/archive/2005/11/29/539514.aspx
http://blog.joycode.com/ghj/archive/2005/01/12/42861.aspx
http://www.cnblogs.com/powerlc/archive/2005/03/30/87512.html
http://blog.csdn.net/net_lover/archive/2004/06/08/6963.aspx
http://dotnet.aspx.cc/ShowDetail.aspx?id=4EB79F05-B9A4-4E8A-836F-864393F40405
http://dotnet.aspx.cc/ShowDetail.aspx?id=6AFBF00B-459D-4642-AD14-8A4765FFAFCC
http://dotnet.aspx.cc/ShowDetail.aspx?id=8A4CBF47-B888-4832-3389-ED3A3A3C8AAB
http://support.microsoft.com/kb/317881/EN-US/
http://study.99net.net/study/program/vb/1049955696.html
zhxhdean 2009-01-07
  • 打赏
  • 举报
回复
文件的 权限不够,右击文件,共享,添加下用户everyone
vlysses 2009-01-07
  • 打赏
  • 举报
回复
将文件的权限设置为everyone可读。
zetee 2009-01-06
  • 打赏
  • 举报
回复
OT$改成OT提示不包含表"OT",谁帮我解释下错误在哪?


对于excel 来说。所有表名最后都会加上$
hongqi162 2009-01-06
  • 打赏
  • 举报
回复

string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + FileName + ";Extended Properties='Excel 8.0;HDR=Yes;IMEX=1;'";
OleDbConnection conn = new OleDbConnection(strConn);
conn.Open();
OleDbDataAdapter oleDbDataAdapter = null;
DataSet ds = new DataSet();
string strExcel = "select * from [sheet1$]";
oleDbDataAdapter = new OleDbDataAdapter(strExcel, conn);
oleDbDataAdapter.Fill(ds, "Data");
conn.Close();



这样访问不可以么?
wanghao3616 2009-01-06
  • 打赏
  • 举报
回复
目录权限 设置是否正确

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧