打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
解决SQL Server 2008 64位系统无法导入Access/Excel的问题

解决SQL Server 2008 64位系统无法导入Access/Excel的问题  

retreatzhang2012-11-30上传
最近更换了新服务器,操作系统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
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
如何获得64位 Jet Driver
SQL Server 2005
SQL?SERVER跨服务器查询(SQL?SERVER?DBLINK)
Sql2008中添加程序集.
mssql 监控磁盘空间告警实现方法
Mssql绕过360拿到webshell
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服