当前位置: 代码网 > it编程>数据库>MsSqlserver > SQL SERVER 2008 64位系统无法导入ACCESS/EXCEL怎么办

SQL SERVER 2008 64位系统无法导入ACCESS/EXCEL怎么办

2024年05月18日 MsSqlserver 我要评论
操作系统windows server 2008 x64,数据库sql server 2008 x64,office 2007(好像只有32位),在存储过程执行opendatasource导入acces

操作系统windows server 2008 x64,数据库sql server 2008 x64,office 2007(好像只有32位),在存储过程执行opendatasource导入access数据的时候遇到问题了,oledb 4.0已经不被支持,以下是遇到的若干错误提示:

因为 ole db 访问接口 'microsoft.jet.oledb.4.0' 配置为在单线程单元模式下运行,所以该访问接口无法用于分布式查询。
无法创建链接服务器 "(null)" 的 ole db 访问接口 "microsoft.ace.oledb.12.0" 的实例。

因为 ole db 访问接口 'microsoft.ace.oledb.12.0' 配置为在单线程单元模式下运行,所以该访问接口无法用于分布式查询 。

解决方案是安装office 2010 64位版, 网上有很多下载,然后下载microsoft access database engine 2010 的x64版本,网上也有下载,两者缺一不可。

然后改一下opendatasource参数,将 microsoft.jet.oledb.4.0 改为 microsoft.ace.oledb.12.0,大功告成。

贴上存储过程部分代码:

--开启导入功能
exec sp_configure 'show advanced options',1
reconfigure
exec sp_configure 'ad hoc distributed queries',1
reconfigure
--允许在进程中使用ace.oledb.12
exec master.dbo.sp_msset_oledb_prop n'microsoft.ace.oledb.12.0', n'allowinprocess', 1
--允许动态参数
exec master.dbo.sp_msset_oledb_prop n'microsoft.ace.oledb.12.0', n'dynamicparameters', 1
--导入临时表 
exec ('insert into jihua(id,[批次号],right('''+ @filepath +''',charindex(''\'',reverse('''+ @filepath +'''))-1),getdate() from opendatasource (''microsoft.ace.oledb.12.0'', ''data source='+@filepath+';user id=admin;password='' )...计划汇总表')
--注意这里,要先关闭外围的设置,然后再关闭高级选项
exec sp_configure'ad hoc distributed queries',0
reconfigure
exec sp_configure'show advanced options',0
reconfigure
--关闭ace.oledb.12的选项
exec master.dbo.sp_msset_oledb_prop n'microsoft.ace.oledb.12.0', n'allowinprocess', 0
exec master.dbo.sp_msset_oledb_prop n'microsoft.ace.oledb.12.0', n'dynamicparameters', 0

以上内容仅是我的个人见解,相信解决办法不止以上所述,希望大家多多分享自己的意见,共同交流学习进步。希望本文关于sql server 2008 64位系统无法导入access/excel的解决方案对大家有所帮助。

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com