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

操作系统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=‘[email protected]+‘;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

时间: 2024-07-31 14:31:12

解决SQL Server 2008 64位系统无法导入Access/Excel的问题 2012/08/01的相关文章

Oracle 11G R2 在windows server 2008 64位安装时提示:无法在windows "开始"菜单或桌面上创建项

错误代码及解释: 在windows server 2008 64 位操作系统中安装 oracle 11G R2 64位 版本时提示:无法在windows "开始"菜单或桌面上创建项 解决方法: 这是由于windows server 2008 默认使用语言为英语,在安装oracle 时,找不到相应的中文字符集,所以报错. 在控制面板,打开区域和语言,在“管理”选项中,将区域和语言设置为“中文(简体,中国)",重新启动服务, 重新安装oracle 11G . 来自:http://

server 2008 64位安装Rational错误

Administrator has detected that this is a terminal server session.Administrator does not support running in this environment. Click OK to exit. 解决办法http://www-01.ibm.com/support/docview.wss?rs=946&context=SSSHVH&dc=DB560&dc=DB520&uid=swg21

T420测试下可用:解决VMWARE 虚拟机安装64位系统“此主机支持 Intel VT-x,但 Intel VT-x 处于禁用状

Q:解决VMWARE 虚拟机安装64位系统"此主机支持 Intel VT-x,但 Intel VT-x 处于禁用状 A: 解决方法: 是否支持虚拟化技术除了看CPU支持外,您还需要进入到BIOS当中查看是否有开启虚拟化的相关选项,该位置在 Security  --Virtualization --Intel Virtualization Technology 如果有的话,将其开启,即可支持虚拟化技术,如果没有相关选项,则机器无法支持. 错误提示已经很清楚了,需要在BIOS 中打开intel VT

windows Server 2008 64位机器装了一个10g客户端,Oracle数据库连接不上问题解决。

windows Server 2008 64位机器装了一个10g客户端,32和64位不清楚 用Netmanager里面的服务名连.Data Source=o10ga;user id=DJZD;password=cy2015;直接显示Tns12514错误,库连接不上... 若改用 Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=10.72.5.13) (PORT=1521))(ADDRESS=(PROTOCOL

【半转贴】解决SQL SERVER 2008数据库表中修改字段后不能保存

SQL SERVER 2008数据库表中修改字段后不能保存,这种情况将阻止保存要求重新创建表的更改一项的钩钩去掉就OK了 找到工具>选项>Designers>表设计器和数据库设计器 然后将“阻止保存要求重新创建表的更改” 的这一项的钩钩去掉就OK了 图片来自:http://www.jb51.net/article/42727.htm 刚好碰到这个问题,用的就是上面的方法解决的 [半转贴]解决SQL SERVER 2008数据库表中修改字段后不能保存

64位系统 IIS不支持 Excel导入的问题

64位系统不支持读取excel的问题: 应用程序池-常规选项 启用32应用程序 启用23应用程序是为了保证32应用程序能够正常运行

解决SQL Server 2008安装时提示:重新启动计算机失败的方法

[解决方法]: a.重启机器,再进行安装,如果发现还有该错误,请按下面步骤: b.在开始->运行中输入regedit c.到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager 位置 d.在右边窗口右击PendingFileRenameOperations,选择删除,然后确认,迅速点重新运行 e.重启安装,问题解决 另从网上找到几个 序列号,可以试试 SQL Server 2008 序列号: Developer:

解决虚拟机vmware安装64位系统“此主机支持 Intel VT-x,但 Intel VT-x 处于禁用状态”的问题

前言 虚拟机使用的是VMware Workstation,并且首次在虚拟机体验64 位系统.在新建好虚拟机,运行时候就出现了VMware Workstation 的提醒:此主机支持 Intel VT-x,但 Intel VT-x 处于禁用状态.如图: 提示信息 已将该虚拟机配置为使用 64 位客户机操作系统.但是,无法执行 64 位操作. 此主机支持 Intel VT-x,但 Intel VT-x 处于禁用状态. 如果已在 BIOS/固件设置中禁用 Intel VT-x,或主机自更改此设置后从未

解决SQL Server 2008无法连接127.0.0.1的问题

电脑操作系统是Win10中文版,新装的英文版SQL Server 2008,纯默认安装,没有做任何改动. 装完SQL Server 2008之后,发现只能用默认的机器名来登录: 如果用127.0.0.1登录就会报出如下的错误: 在网上查询一番之后,发现让开启SQL Server Configuration Manager中的Named Pipes就可以解决问题,然而试了并没有什么卵用... 于是开始自己动手尝试解决方案,经过一番尝试,功夫不负有心人啊!终于算是找到了,下面把步骤贴出来: 第一步,