sql访问excel表
请各位帮我看看,访问的是excel2000,sql语句如下:
SELECT * FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0','Data Source="c:\cheliang.xls";User ID=Administrator;Password=;Extended properties=Excel 5.0')...[Sheet1$]
运行结果如下:
服务器: 消息 7399,级别 16,状态 1,行 1
OLE DB 提供程序 'Microsoft.Jet.OLEDB.4.0' 报错。验证失败。
[OLE/DB provider returned message: 无法启动应用程序。工作组信息文件丢失,或是已被其它用户以独占方式打开。]
OLE DB 错误跟踪[OLE/DB Provider 'Microsoft.Jet.OLEDB.4.0' IDBInitialize::Initialize returned 0x80040e4d: 验证失败。]。
问题点数:20、回复次数:8Top
1 楼share1011(不知道)回复于 2006-03-09 11:11:22 得分 5
User ID=Administrator;Password=;
连接的用户名密码错误
我也遇到过,你可以在程序中打开你的查询分析器,在那里输入你的SQL验证,看看你的SQL用户名和密码是什么Top
2 楼Davily(翔子)回复于 2006-03-09 11:57:19 得分 10
打开sql的配置管理工具,把"Enalbe OPENROWSET and OPENDATASOURCE support"选中就可以了。Top
3 楼hhfcsdn(飞影2003)回复于 2006-03-09 13:20:42 得分 0
请问 sql的配置管理工具 在哪里啊?谢谢Top
4 楼hhfcsdn(飞影2003)回复于 2006-03-09 15:06:28 得分 0
请问excel表是在本地机子c盘上的,则user id和password填机子登陆时的用户名和密码是嘛?看着提示的错误信息,应该是不能访问。还有excel表是不是对行列也要进行设置一下。现在的情况是连接有问题,根本看不了表,请各位高手指点一下,谢谢,我的qq:52659378。请注明一下sql。谢谢Top
5 楼tcbo1982(机器猫(^_^)回复于 2006-03-09 16:02:39 得分 3
SELECT * FROM OPENDATASOURCE('Microsoft.Jet.OLEDB.4.0','Data Source=G:\MyProject\Ex_Import\仓库.xls;User ID=Admin;Password=;Extended properties="Excel 5.0;HDR=Yes;";Persist Security Info=False')...[仓库$]
其中注意:Extended properties="Excel 5.0;HDR=Yes;"
写法
Top
6 楼hhfcsdn(飞影2003)回复于 2006-03-10 09:47:28 得分 0
问题解决了一半,发现在刚装好的sql上运行是可以读出来的,在已经装好的sql上确运行不起来,估计是sql的配置问题,请问用OPENDATASOURCE要做哪些配置啊?如何配置,谢谢。Top
7 楼seraphw(天平@-@)回复于 2006-03-10 10:54:58 得分 2
不用什模特别的配置阿。而且你的Excel表有用户名和密码吗?需要写User ID和Password参数吗?
我原来连接不上就是Excel表根本没用户和密码。Top
8 楼hhfcsdn(飞影2003)回复于 2006-03-10 13:00:34 得分 0
我的excel不需要用户名和密码的,看了网上的介绍,有句这样的话:
即席分布式查询选项
如果为此选项设置了非零值,SQL Server 将不允许通过 OPENROWSET 和 OPENDATASOURCE 函数即席访问 OLE DB 访问接口。如果未设置此选项,SQL Server 也不允许即席访问。
所以想看看这个设置,不知怎么看,请各位帮我看看Top




