环境:Windows2008 Server 64位+SqlServer 2008 64位+Office2010 64位+Microsoft Access Database Engine 64位。
目的:将Sqlserver里面的多张表满足条件的数据导出到Excel里。
用的语句是:
INSERT INTO OPENROWSET('Microsoft.ACE.OLEDB.12.0', 'Excel 12.0 Xml;Database=C:\testing.xlsx;', 'SELECT Name, Date FROM [Sheet1$]') SELECT [Name], GETDATE() FROM msdb.dbo.sysjobs GO
但是始终通不过,报的错误如下:
消息 7399,级别 16,状态 1,第 2 行 链接服务器 "(null)" 的 OLE DB 访问接口 "Microsoft.ACE.OLEDB.12.0" 报错。访问被拒绝。 消息 7390,级别 16,状态 2,第 2 行 无法执行请求的操作,因为链接服务器 "(null)" 的 OLE DB 访问接口 "Microsoft.ACE.OLEDB.12.0" 不支持所需的事务接口。
后来我绝望了不想搞了时,无意中在CSDN上的一位高人的解答下无意中解决了:
将SQL Server(MSSQLSERVER)和SQL Full-Filter Deamon Launcher(MSSQLSERVER)两个服务的登录身份改为LocalSystem
我忽然想起来了,我在安装SQLSERVER2008时选的是network service,结果就造成了这样的错误,曰!
refurl:http://topic.csdn.net/u/20090602/17/2b46432b-7770-4444-982c-b81d442f34b9.html
-------------------------------------------------------------------------------
下面分别说一下上面所说的软件的下载链接:
1、Windows2008 Server 64位
http://www.cnzz.cc/Soft/6593.html
2、SqlServer 2008 64位
3、Office2010 64位
http://blog.itful.com/articles/2010/1529_office-2010-vol-kms.html
或者
ed2k://%7Cfile%7CSW_DVD5_Office_Professional_Plus_2010_64Bit_ChnSimp_MLF_X16-52534.iso%7C1009090560%7Cc0bade6be073cc00609e6ca16d0c62ac%7Ch=5rj4t2suepkgnpddvmqwnis3sno3lzoa/
4、Microsoft Access Database Engine 64位
http://www.microsoft.com/en-us/download/details.aspx?id=13255
其他参考资料: