求助Excel导入到SQL Server,在先等待、高分相赠
代码:
SELECT * into newtable
FROM OpenDataSource ('Microsoft.Jet.OLEDB.4.0',
'Data Source="d:\2.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...xactions
运行出错结果:
服务器: 消息 7399,级别 16,状态 1,行 1
OLE DB 提供程序 'Microsoft.Jet.OLEDB.4.0' 报错。提供程序未给出有关错误的任何信息。
OLE DB 错误跟踪[OLE/DB Provider 'Microsoft.Jet.OLEDB.4.0' IDBInitialize::Initialize returned 0x80004005: 提供程序未给出有关错误的任何信息。]。
我的Excel版本是XP
问题点数:100、回复次数:14Top
1 楼chludlf(春露)回复于 2004-05-04 12:53:25 得分 10
d:\2.xls 必須是sql server服務器本身, 不能放在本機或其它工站.否則就會報這樣的錯誤!Top
2 楼progress99(如履薄冰)回复于 2004-05-04 14:18:47 得分 10
xp的沒用過,樓主在執行語句前請先關閉excel文件Top
3 楼zjcxc(邹建)回复于 2004-05-04 14:37:40 得分 80
语句没有错,在我的电脑上测试通过,我的Excel也是xpTop
4 楼zjcxc(邹建)回复于 2004-05-04 14:39:00 得分 0
检查:
1.有没有足够的权限,需要用sa之类的系统管理员来执行上述语句
2.d:\2.xls必须在SQL服务器上
3.将工作表名后加$试试,即将语句改为:
SELECT * into newtable
FROM OpenDataSource ('Microsoft.Jet.OLEDB.4.0',
'Data Source="d:\2.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...xactions$
Top
5 楼Littleming(小明)回复于 2004-05-05 09:50:04 得分 0
多谢各位了,我Excel没关,现在出现的提示是:
OLE DB 提供程序 'Microsoft.Jet.OLEDB.4.0' 不包含表 'xactions$'。该表可能不存在,或当前用户没有使用该表的权限。
不知道怎么解决?Top
6 楼zjcxc(邹建)回复于 2004-05-05 09:52:14 得分 0
1.有没有足够的权限,需要用sa之类的系统管理员来执行上述语句
3.将工作表名后加$试试,即将语句改为:
SELECT * into newtable
FROM OpenDataSource ('Microsoft.Jet.OLEDB.4.0',
'Data Source="d:\2.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...xactions$Top
7 楼Littleming(小明)回复于 2004-05-05 09:56:44 得分 0
权限好象没问题吧?用户权限是不是属于Excel的权限?我改了其它用户如:sa(sql管理员,报错:验证失败!
加了$也不管用Top
8 楼Littleming(小明)回复于 2004-05-05 09:57:24 得分 0
你能不能告诉我msn或qq?以后多请教?Top
9 楼Littleming(小明)回复于 2004-05-05 09:58:43 得分 0
那个后缀xactions($)是什么意思?Top
10 楼zjcxc(邹建)回复于 2004-05-05 09:59:00 得分 0
特别检查你的d:\2.xls文件中,有xactions这个工作表吗?Top
11 楼Littleming(小明)回复于 2004-05-05 09:59:55 得分 0
哦!Top
12 楼zjcxc(邹建)回复于 2004-05-05 10:00:52 得分 0
SELECT * into newtable
FROM OpenDataSource ('Microsoft.Jet.OLEDB.4.0',
'Data Source="d:\2.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...xactions$
上面这句是不用管的,我说的权限,是你登陆SQL的用户,改用sa登陆
$是附加的一个符号(有时一定要这个$,数据访问才正常),即工作表名+$
Top
13 楼Littleming(小明)回复于 2004-05-05 10:01:50 得分 0
可以了!!!我就是不懂那个xactions,呵呵!多谢了!我Excel不熟?我的问题解决,真是开心!!!!!加分!Top
14 楼lhx1977(清水无鱼)回复于 2004-05-05 10:02:39 得分 0
使用的SQL服务器,必须与EXCEL文件必须在一台服务器上,否则出错.
数据表的名字后面必须有$;Top




