我有一个SSIS包。里面有两个执行包任务元素。这两个软件包链接在一起运行。SSIS包错误 - BULK INSERT“文件不存在”
第一包 - 从外部站点下载CSV文件(SalesForce.com)
E:\ SalesForce公司\ MSSQL_Import \ PricebookEntry.csv
E:是映射网络驱动器。
包两个SQL任务批量将CSV文件的内容插入到空表中。
BULK INSERT SalesForce.dbo.PriceBookEntry
FROM 'E:\SalesForce\MSSQL_Import\PricebookEntry.csv'
WITH
(
FIRSTROW = 2,
FIELDTERMINATOR = '\t',
ROWTERMINATOR = '\n',
CODEPAGE = 'ACP',
ERRORFILE = 'E:\SalesForce\Data_Loader\Logs\Error\Bulk_Insert\BI_PriceBookEntry.csv',
TABLOCK
)
我收到以下错误第二SSIS包被触发时:
[Execute SQL Task] Error: Executing the query "BULK INSERT SalesForce.dbo.PriceBookEntry FROM..." failed with the following error: "Cannot bulk load. The file "E:\SalesForce\MSSQL_Import\PricebookEntry.csv" does not exist.". Possible failure reasons: Problems with the query, "ResultSet" property not set correctly, parameters not set correctly, or connection not established correctly.
我检查了文件的位置。路径和拼写都很好。该文件在脚本运行时存在。
我已经尝试将文件保存在C:只是为了检查。 BULK INSERT软件包仍然失败。
我已经在管理工作室中运行BULK查询作为命令,它工作正常。
如果我将这些软件包链接到另一个软件包中,则BULK INSERT失败。如果我按顺序分别运行SSIS包,它们工作正常。
我有其他SSIS包做同样的事情,工作正常。
我一直在谷歌高和低的可能的解决方案,仍然没有。任何人有什么想法可能是什么问题?
'E:映射网络驱动器'通常根本原因是执行SSIS包的帐户没有与开发它的用户映射相同的驱动器。放在C驱动器上不起作用的事实使我相信它也可能是一个许可问题。尽管如此,您已经在其他地方指定了此项功能,但我不确定您在哪里出错 – billinkc