日期:2014-05-17  浏览次数:20464 次

导入数据问题 求高手解答
SELECT * --into #temp  
from OPENDATASOURCE('Microsoft.Jet.OLEDB.4.0','Data Source=E:\导入数据文件\源文件\111.xls;User ID=admin;Password=;Extended properties="Excel 8.0;HDR=Yes;";Persist Security Info=False')...[D_DFSPMS_BuyParts_temp]

环境是windows server   2008 r2     sql2008  64位
提示下面错误
消息 7308,级别 16,状态 1,第 1 行
因为 OLE DB 访问接口 'Microsoft.Jet.OLEDB.4.0' 配置为在单线程单元模式下运行,所以该访问接口无法用于分布式查询。
------最佳解决方案--------------------
下载一个ACE.Oledb.12.0 for X64位的驱动,并把连接字符串Microsoft.jet.Oledb.4.0 更改为 Microsoft.ACE.OLEDB.12.0 
------其他解决方案--------------------
试用'Microsoft.ACE.OLEDB.12.0'
------其他解决方案--------------------

SELECT * --into #temp  
from OPENDATASOURCE('Microsoft.Jet.OLEDB.4.0','Data Source=E:\导入数据文件\源文件\111.xls;User ID=;Password=;Extended properties="Excel 5.0;HDR=Yes;";Persist Security Info=False')...[D_DFSPMS_BuyParts_temp$]



------其他解决方案--------------------
引用:
试用'Microsoft.ACE.OLEDB.12.0'

这个试过了 

消息 7403,级别 16,状态 1,第 1 行
尚未注册 OLE DB 访问接口 "Microsoft.ACE.OLEDB.12.0"。
提示这个

------其他解决方案--------------------
你得装一个ACE.Oledb.12.0数据源的驱动
------其他解决方案--------------------
引用:
你得装一个ACE.Oledb.12.0数据源的驱动


'Microsoft.Jet.OLEDB.4.0' 这个接口为什么32位用的好好的  64位的就用不了  
别人的服务器  不能乱装 纠结了
------其他解决方案--------------------
SQLServer2008 不支持64位的excel
------其他解决方案--------------------
这个只能在本地服务器上导入本地excel,是不是导入到远程服务器了?