有没有什么办法可以编写select的SQL查询,将从Excel表中取出值,并在SQL窗口显示结果

我有一个Excel表(名称为:-LTATestData.xls)。 它包含一些相应的值的列。 我想select从Excel表格中读取列值的sql查询并显示结果。

我试图在谷歌search,我得到下面的查询可能会解决我的目的

SELECT * FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0', 'Excel 10.0;Database=C:\work\LTATestData.xls', 'SELECT * FROM [Sheet1$]') 

但是当我运行这个查询时,我得到下面的错误消息: – “OLE DB提供程序”Microsoft.Jet.OLEDB.4.0“不能用于分布式查询,因为提供程序configuration为在单线程的公寓模式下运行。

请让我知道如何做到这一点。 提前致谢。

造成这种情况的主要原因可能是由于64位SQL Server和32位Microsoft Office安装之间不匹配。 因此,升级到64位Microsoft Office比降级sql服务器版本。

另外,如果你的版本都是最新的,这里有几个post( 请阅读评论部分

下面的post可能有助于解决这个问题: 如何:修复错误 – “microsoft.ace.oledb.12.0”提供程序未在本地计算机上注册“

SQL服务器 – 修复:错误:MS Jet OLEDB 4.0不能用于分布式查询,因为提供程序用于在公寓模式下运行。