【发布时间】:2018-05-14 16:23:12
【问题描述】:
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)
今天我在 SSIS 2012 中遇到了 Microsoft.ACE.OLEDB.12.0 驱动程序的问题。上面的脚本位于一个存储过程中,该过程根据由存储过程所在的 SSIS 循环。目录中有文件。
直接在 SQL Server Management Studio 中运行时,存储过程可以正确运行。
直到今天它一直运行良好。今天我收到以下错误:
执行查询“EXEC [dbo].[CreateAndImportCSVs]?”失败,出现以下错误:“无法为链接服务器“(null)”初始化 OLE DB 提供程序“Microsoft.ACE.OLEDB.12.0”的数据源对象。”。 可能的失败原因:查询有问题,“ResultSet”属性设置不正确,参数设置不正确,或者连接没有正确建立。
在这个问题上的任何帮助都会很棒!
编辑
因此,当我查看昨天安装在服务器上的 Windows 更新时,我听到了警钟!安装了以下两个:
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
【问题讨论】:
-
那么今天发生了什么变化?服务器故障转移/移动?密码更改?账户变了?发生了一些变化,让我们确定什么,然后我们可以努力解决问题
-
@billinkc 我在帖子中添加了一些附加信息。
标签: sql-server ssis etl ssis-2012 ms-jet-ace