sql server 2000用opendatasource导出数据到EXCEL 2000的问题

时间:2022-09-29 09:31:24
这个问题有好几天的,前面发过帖但是都没有解决,

现在总结一下:

环境: MS SQL SERVER 2000,   OFFICE 2007(备注 office 2003没有问题)

目的:从sql server 2000 导出数据到EXCEL 2007(从 sql server 2000中查询 excel 2007,以及从 excel 2007导数据到ms sql server 2000都没有问题,

而且用openrowset可以实现sql server 2000 导出数据到EXCEL 2007,所以觉得有些人说的ms sql server 2000不支持 excel 2007说法有问题)

T_SQL语句如下:

use wmj

go

insert into opendatasource('microsoft.ace.12.0','excel 8.0;hdr=0;data source=E:\DATA\DISTRICT.XLSX')...[Sheet1$] select * from area



只可以导出第一行,报错如下:

服务器: 消息 7343,级别 16,状态 2,行 1
OLE DB 提供程序 'microsoft.ace.oledb.12.0' 未能 INSERT INTO 表 '[microsoft.ace.oledb.12.0]'。未知的提供程序错误。
[OLE/DB provider returned message: 书签无效。]



如果将参数设置为 imex=2则,没有任何数据可以导出,报错信息如下:

服务器: 消息 7399,级别 16,状态 1,行 1
OLE DB 提供程序 'microsoft.ace.oledb.12.0' 报错。提供程序指出用户没有执行该操作的权限。
[OLE/DB provider returned message: 不能更新。数据库或对象为只读。]


希望高手帮帮忙啊

3 个解决方案

#1


服务器: 消息 7399,级别 16,状态 1,行 1
OLE DB 提供程序 'microsoft.ace.oledb.12.0' 报错。提供程序指出用户没有执行该操作的权限。
[OLE/DB provider returned message: 不能更新。数据库或对象为只读。]

#2


把EXCEL模板 改为 97--2003工作薄 方式
insert into opendatasource('microsoft.jet.oledb.4.0','excel 8.0;hdr=0;data source=E:\test01.xls')...[Sheet1$] select top (10)* from TESTAB

#3


引用 2 楼 zhaowenzhong 的回复:
把EXCEL模板 改为 97--2003工作薄 方式
insert into opendatasource('microsoft.jet.oledb.4.0','excel 8.0;hdr=0;data source=E:\test01.xls')...[Sheet1$] select top (10)* from TESTAB

那个我知道啊,我就是想解决 EXCEL 2007的工作簿,因为公司里面都用的 OFFICE 2007

#1


服务器: 消息 7399,级别 16,状态 1,行 1
OLE DB 提供程序 'microsoft.ace.oledb.12.0' 报错。提供程序指出用户没有执行该操作的权限。
[OLE/DB provider returned message: 不能更新。数据库或对象为只读。]

#2


把EXCEL模板 改为 97--2003工作薄 方式
insert into opendatasource('microsoft.jet.oledb.4.0','excel 8.0;hdr=0;data source=E:\test01.xls')...[Sheet1$] select top (10)* from TESTAB

#3


引用 2 楼 zhaowenzhong 的回复:
把EXCEL模板 改为 97--2003工作薄 方式
insert into opendatasource('microsoft.jet.oledb.4.0','excel 8.0;hdr=0;data source=E:\test01.xls')...[Sheet1$] select top (10)* from TESTAB

那个我知道啊,我就是想解决 EXCEL 2007的工作簿,因为公司里面都用的 OFFICE 2007