Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net “我如何解决?”;“OLE DB提供程序”;微软.Jet.OLEDB.4.0“;尚未注册。”;?_.net_Sql Server_Sql Server 2005 - Fatal编程技术网

.net “我如何解决?”;“OLE DB提供程序”;微软.Jet.OLEDB.4.0“;尚未注册。”;?

.net “我如何解决?”;“OLE DB提供程序”;微软.Jet.OLEDB.4.0“;尚未注册。”;?,.net,sql-server,sql-server-2005,.net,Sql Server,Sql Server 2005,我尝试使用从excel文件获取excel数据。我正在使用Office2007和SQL2005。我写了以下代码: CREATE TABLE [dbo].[Addresses_Temp] ( [FirstName] VARCHAR(20), [LastName] VARCHAR(20), [Address] VARCHAR(50), [City] VARCHAR(30), [State] VARCHAR(2),

我尝试使用从excel文件获取excel数据。我正在使用Office2007和SQL2005。我写了以下代码:

CREATE TABLE [dbo].[Addresses_Temp] (
    [FirstName]   VARCHAR(20),
    [LastName]    VARCHAR(20),
    [Address]     VARCHAR(50),
    [City]        VARCHAR(30),
    [State]       VARCHAR(2),
    [ZIP]         VARCHAR(10)
)
GO

INSERT INTO [dbo].[Address_Temp] ( [FirstName], [LastName], [Address], [City], [State], [ZIP] )
SELECT [FirstName], [LastName], [Address], [City], [State], [ZIP]
FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0',
                'Excel 8.0;Database=C:\Source\Addresses.xls;IMEX=1',
                'SELECT * FROM [Sayfa1$]')
错误:Msg 7403,16级,状态1,第2行
OLE DB提供程序“Microsoft.Jet.OLEDB.4.0”尚未注册。如何解决此问题?

对于32位SQL Server,您需要手动安装,因为从MDAC 2.6开始,驱动程序不包括在内。可以下载

对于64位SQL Server,恐怕这已经不可能了。喷气发动机驱动程序没有移植到64位,而且将来也不会移植。
可以使用SSIS导入Excel文档,但不能使用OpenRowSet查询。还有另一种选择,但如果您是从SQL代理作业运行SSIS包,那么这似乎是一个非常费劲的过程 在从MSDB或文件系统拾取ssis包后的步骤属性中,转到执行选项点击并选中使用32位运行时选项


为我工作。

这是在32位还是64位SQL server上?在新的查询中执行
select@@Version
它将告诉您是32位还是64位Microsoft在四年后响应了这些请求,现在这是可能的。