VB执行SQL语句问题

来源:百度知道 编辑:UC知道 时间:2024/05/17 15:28:09
系统:XP,VB6.0,SQL2000
SQL语句:
SELECT top 1 * FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0','excel 8.0;hdr=no;IMEX=1;Data Source=d:\itokin\temp\www.xls;User ID=Admin;Password=;')...['店舗-1$'] where f1 is not null and f3 is not null and f1 not like 'p'+'%' and F3<>'TOTAL' and f1 not like 'C/ NO'

通过VB执行,在客户端执行,一切正常(路径,文件存放点没有问题)
但是在服务器上(SQL2000)执行,报错:
OLE DB 提供程序 'Microsoft.Jet.OLEDB.4.0' 报错。提供程序未给出有关错误的任何信息。
OLE DB 错误跟踪〔OLE/DB Provider 'Microsoft.Jet.OLEDB.4.0' IDBInitialize::Initialize returned 0x80004005: 提供程序未给出有关错误的任何信息。〕。
在把SQL语句放到SQL查询分析器上执行,也出错,修改后:Data Source="d:\itokin\temp\www.xls"(前后加上引号)执行OK,然后在去掉引号,执行也OK.
最后在服务器上运行VB,用SQL跟踪发现:select top 1 * from SELECT top 1 * FROM OpenDataSo

服务器可以识别TOP 1
应该是缺少驱动……正常的话会出现:找不到可安装的ISAM

不知道服务器那识别Top 1不,以前用过在sql语句的最后加一句limit 1的方法,你也可以试试