首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >问题OLE提供程序

问题OLE提供程序
EN

Stack Overflow用户
提问于 2014-03-09 09:50:57
回答 1查看 376关注 0票数 0

当我试图将数据从Excel导入到Server中的一个表时,我遇到了一个问题,我完全被阻塞了

我在Windows 7 64位,SQL Server 2008 Express上。我导入文件格式(.xls)

下面是代码:

代码语言:javascript
复制
SELECT Table_1.Champ1 , Table_1.Champ2
FROM Table_1
INNER JOIN OPENROWSET('Microsoft.Jet.OLEDB.4.0',
'Excel 8.0;Database=C:\Users\AA\Desktop\Classeur1.xls;',
'SELECT [Champ1], [Champ2] FROM [Feuil1$]') T
ON Table_1.Champ1 = T.[Champ1]

这是一个错误:

Msg 7308,第16级,状态1,第1行 OLE提供程序'Microsoft.Jet.OLEDB.4.0‘不能用于分布式查询,因为该提供程序配置为在STA模式下运行。

我忘了我也这么做了

当然,我把我的疑问改为

代码语言:javascript
复制
SELECT Table_1.Champ1 , Table_1.Champ2
FROM Table_1
INNER JOIN OPENROWSET('MICROSOFT.ACE.OLEDB.12.0',
'Excel 8.0;Database=C:\Users\AA\Desktop\Classeur1.xls;',
'SELECT [Champ1], [Champ2] FROM [Feuil1$]') T
ON Table_1.Champ1 = T.[Champ1]

这是一个错误:

Msg 15281,16级,状态1,第1行 server阻止对组件'Ad分布式查询‘的语句'OpenRowset / OpenDataSource’的访问,因为该组件作为服务器安全配置的一部分被关闭。系统管理员可以使用sp_configure启用“Ad分布式查询”。有关启用“Ad分布式查询”的详细信息,请参阅Server联机丛书中的“表面积配置暴露”。

在我使用这段代码编辑代码之后,我在这里找到了它:Get Excel sheet into temp table using a script

堆叠溢出

代码语言:javascript
复制
sp_configure 'show advanced options', 1;

RECONFIGURE;
GO

sp_configure 'Ad Hoc Distributed Queries', 1;
GO

RECONFIGURE;
GO

在我执行我的查询之后

代码语言:javascript
复制
SELECT Table_1.Champ1 , Table_1.Champ2
FROM Table_1
INNER JOIN OPENROWSET('MICROSOFT.ACE.OLEDB.12.0',
'Excel 8.0;Database=C:\Users\AA\Desktop\Classeur1.xls;',
'SELECT [Champ1], [Champ2] FROM [Feuil1$]') T
ON Table_1.Champ1 = T.[Champ1]

错误更改为:

Msg 7302,第16级,状态1,第1行 无法创建OLE DB提供程序"MICROSOFT.ACE.OLEDB.12.0“用于链接服务器的实例(Null)

请帮帮忙

EN

回答 1

Stack Overflow用户

发布于 2017-02-06 07:05:38

右键单击OLEDB提供程序并转到Properties并检查进程中的允许

票数 -2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22280755

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档