[SSIS文件存在检查,SSDT中没有从SSISDB运行该文件

问题描述 投票:0回答:1

这是我感到难过的东西,我已经做了很久了。

迁移到SQL Server 2016,大量ETL。很简单。

其中一个ETL软件包具有一个简单的脚本任务来获取文件表,运行存在的foreach循环文件。

它使用项目参数创建unc(\ servername \ share),然后将其绑定到脚本任务中的文件名。

使用SSISDB中的环境配置设置

在SSDT中执行可以正常工作,部署到目录中并且看不到文件。我知道您会说权限,但我已允许所有人组共享和驱动,以防万一。 SSISDB执行意味着它应该在我的安全性上下文和即时域管理员,本地管理员以及共享的创建者所有者下运行。

甚至很奇怪,我已经创建了一个简单的包来抓取其中一个文件的内容,并导入到转储表中,以防权限或路径不足(即使它们在SSDT中起作用,也可能是SSISDB中的环境配置)。这很不错,因此不能引用SSISDB的环境设置。

请注意,这不是从代理作业运行的,因此不会是由于代理服务器帐户问题引起的。首先需要从ssisdb运行它,然后生病创建代理作业

所以-脚本任务看不到由两个变量构建的UNC共享,它们在ssdt中工作并且在相同的凭据下运行...

开始

脚本任务代码的作用是什么

Dts.Variables("BolFileExists").Value = File.Exists(Dts.Variables("StrLoadFileLocation").Value.ToString & Dts.Variables("StrCurrentFile").Value.ToString)
sql-server visual-studio ssis integration sql-server-data-tools
1个回答
0
投票

这是一个略有不同的答案,因为它显示了不同的方法并删除了脚本任务。我使用foreach使用SSIS提供的GUI工具检查文件是否存在:

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.