无法为链接服务器初始化OLE DB提供程序Microsoft.ACE.OLEDB.12.0的数据源对象(空)

ASi*_*uat 5 sql-server ssis etl ms-jet-ace ssis-2012

DECLARE @PATH NVARCHAR(1000) = N'\\MY-SERVER\C$\Folder\\'
DECLARE @TABLE NVARCHAR(50) = SUBSTRING(@FILENAME,0,CHARINDEX('.',@FILENAME))
DECLARE @SQL NVARCHAR(4000) = 
    N'IF OBJECT_ID(''dbo.' + @TABLE + ''' , ''U'') IS NOT NULL 
    DROP TABLE dbo.[' + @TABLE + ']
    SELECT * INTO [' + @TABLE + ']
    FROM OPENROWSET(''Microsoft.ACE.OLEDB.12.0''
                    ,''Text; Database='+@PATH+';''
                    ,''SELECT * FROM [' + @FILENAME + ']'')'

EXEC(@SQL)
Run Code Online (Sandbox Code Playgroud)

今天,我遇到了SSIS 2012中Microsoft.ACE.OLEDB.12.0驱动程序的问题。上面的脚本位于存储过程中,该存储过程根据SSIS循环中提供的当前文件将.csv动态加载到数据库中。哪个存储过程位于。目录中有文件。

直接在SQL Server Management Studio中运行时,存储过程可以正确运行。

直到今天,它一直工作良好。今天,我收到以下错误:

执行查询“ EXEC [dbo]。[CreateAndImportCSVs]?” 失败,并出现以下错误:“无法为链接服务器“(null)”初始化OLE DB访问接口提供程序“ Microsoft.ACE.OLEDB.12.0”的数据源对象。”。可能的失败原因:查询问题,“ ResultSet”属性未正确设置,参数未正确设置或连接未正确建立。

在这个问题上的任何帮助将是巨大的!

编辑

因此,看看发生了什么变化,昨天我查看服务器上安装的Windows Update时会听到警钟!安装了以下两个:

Microsoft Office Access运行时和数据连接2007(SP3) http://support.microsoft.com/kb/2526310

2007 Microsoft Office System更新(KB967642) http://www.microsoft.com/downloads/details.aspx?FamilyId=E93AB1BE-ADE6-4FF8-8637-DBD3EBE3C5C5&displaylang=en

ASi*_*uat 2

这个问题自行解决了。安装了更多更新,其中之一必须解决了先前更新引入的问题:

Microsoft Office 2010 更新 (KB4011188) 64 位版本 https://support.microsoft.com/kb/4011188

Microsoft Office 2010 更新 (KB2553347) 64 位版本 http://support.microsoft.com/kb/2553347

Microsoft Office 2010 安全更新 (KB2553338) 64 位版本 https://support.microsoft.com/kb/2553338

感谢您对此提供的所有帮助!