【问题标题】:Probleme OLE DB provider有问题的 OLE DB 提供程序
【发布时间】:2014-03-09 09:50:57
【问题描述】:

当我尝试将数据从 Excel 导入 SQL Server 中的表时遇到问题我遇到问题我完全被阻止了

我使用的是 Windows 7 64 位 SQL Server 2008 Express。我导入文件格式 (.xls)

代码如下:

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]

这是错误:

消息 7308,第 16 层,状态 1,第 1 行
OLE DB 提供程序“Microsoft.Jet.OLEDB.4.0”不能用于分布式查询,因为该提供程序配置为在 STA 模式下运行。

我忘了我也这样做:

我当然把我的查询改成了这个

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]

这是错误:

消息 15281,第 16 级,状态 1,第 1 行
SQL Server 阻止了对组件“Ad Hoc Distributed Queries”的 STATEMENT 'OpenRowset / OpenDataSource' 的访问,因为该组件作为服务器安全配置的一部分被关闭。系统管理员可以使用 sp_configure 启用“即席分布式查询”。有关启用“即席分布式查询”的详细信息,请参阅 SQL Server 联机丛书中的“表面区域配置公开”。

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

在堆栈溢出中

sp_configure 'show advanced options', 1;

RECONFIGURE;
GO

sp_configure 'Ad Hoc Distributed Queries', 1;
GO

RECONFIGURE;
GO

在我执行查询之后

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]

错误改成这样:

消息 7302,第 16 级,状态 1,第 1 行
无法为链接服务器“(null)”创建 OLE DB 提供程序“MICROSOFT.ACE.OLEDB.12.0”的实例

请帮忙

【问题讨论】:

  • 我搜索了一下,发现有必要下载这个microsoft.com/en-us/download/details.aspx?id=13255,但没有任何相同的问题
  • 请参阅本文了解如何在 64 位计算机上使用 Microsoft 数据提供程序。 blog.wharton.com.au/2011/10/19/…
  • 我已经高度编辑了我的消息,我第一次忘记这样做了
  • 我相信,即使您“正确”配置了 STA/Ad-Hoc Distributed Queries 设置,JET 也不支持任何级别的分布式事务,因此您应该考虑从任何级别删除您的 SELECT 查询环境交易
  • 我的 objectif 是将我在 sql server 中的表与我的 excel 表中的表加入任何问题,所以我无法删除选择查询:D

标签: sql excel sql-server-2008


【解决方案1】:

右键单击您的 OLEDB 提供程序并转到属性并检查允许进程

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-11-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多